Core: Merge InputStream and OutputStream to Stream
Remove serialization support from Stream Former-commit-id: 7a761e4fcd07cab561f13e4709c4492ed18da88a
This commit is contained in:
@@ -13,8 +13,8 @@
|
||||
#include <Nazara/Core/Endianness.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/File.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/MemoryView.hpp>
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <memory>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
@@ -27,19 +27,19 @@ namespace Nz
|
||||
{
|
||||
sf_count_t GetSize(void* user_data)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(user_data);
|
||||
Stream* stream = static_cast<Stream*>(user_data);
|
||||
return stream->GetSize();
|
||||
}
|
||||
|
||||
sf_count_t Read(void* ptr, sf_count_t count, void* user_data)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(user_data);
|
||||
Stream* stream = static_cast<Stream*>(user_data);
|
||||
return static_cast<sf_count_t>(stream->Read(ptr, static_cast<std::size_t>(count)));
|
||||
}
|
||||
|
||||
sf_count_t Seek(sf_count_t offset, int whence, void* user_data)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(user_data);
|
||||
Stream* stream = static_cast<Stream*>(user_data);
|
||||
switch (whence)
|
||||
{
|
||||
case SEEK_CUR:
|
||||
@@ -63,7 +63,7 @@ namespace Nz
|
||||
|
||||
sf_count_t Tell(void* user_data)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(user_data);
|
||||
Stream* stream = static_cast<Stream*>(user_data);
|
||||
return stream->GetCursorPos();
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace Nz
|
||||
return Open(*m_ownedStream, forceMono);
|
||||
}
|
||||
|
||||
bool Open(InputStream& stream, bool forceMono)
|
||||
bool Open(Stream& stream, bool forceMono)
|
||||
{
|
||||
SF_INFO infos;
|
||||
infos.format = 0; // Format inconnu
|
||||
@@ -203,7 +203,7 @@ namespace Nz
|
||||
|
||||
private:
|
||||
std::vector<Int16> m_mixBuffer;
|
||||
std::unique_ptr<InputStream> m_ownedStream;
|
||||
std::unique_ptr<Stream> m_ownedStream;
|
||||
AudioFormat m_format;
|
||||
SNDFILE* m_handle;
|
||||
bool m_mixToMono;
|
||||
@@ -222,7 +222,7 @@ namespace Nz
|
||||
return supportedExtensions.find(extension) != supportedExtensions.end();
|
||||
}
|
||||
|
||||
Ternary CheckMusic(InputStream& stream, const MusicParams& parameters)
|
||||
Ternary CheckMusic(Stream& stream, const MusicParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -282,7 +282,7 @@ namespace Nz
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoadMusicStream(Music* music, InputStream& stream, const MusicParams& parameters)
|
||||
bool LoadMusicStream(Music* music, Stream& stream, const MusicParams& parameters)
|
||||
{
|
||||
std::unique_ptr<sndfileStream> musicStream(new sndfileStream);
|
||||
if (!musicStream->Open(stream, parameters.forceMono))
|
||||
@@ -303,7 +303,7 @@ namespace Nz
|
||||
return true;
|
||||
}
|
||||
|
||||
Ternary CheckSoundBuffer(InputStream& stream, const SoundBufferParams& parameters)
|
||||
Ternary CheckSoundBuffer(Stream& stream, const SoundBufferParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -320,7 +320,7 @@ namespace Nz
|
||||
return Ternary_False;
|
||||
}
|
||||
|
||||
bool LoadSoundBuffer(SoundBuffer* soundBuffer, InputStream& stream, const SoundBufferParams& parameters)
|
||||
bool LoadSoundBuffer(SoundBuffer* soundBuffer, Stream& stream, const SoundBufferParams& parameters)
|
||||
{
|
||||
SF_INFO info;
|
||||
info.format = 0;
|
||||
|
||||
@@ -189,7 +189,7 @@ namespace Nz
|
||||
return MusicLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Music::OpenFromStream(InputStream& stream, const MusicParams& params)
|
||||
bool Music::OpenFromStream(Stream& stream, const MusicParams& params)
|
||||
{
|
||||
return MusicLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace Nz
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Sound::LoadFromStream(InputStream& stream, const SoundBufferParams& params)
|
||||
bool Sound::LoadFromStream(Stream& stream, const SoundBufferParams& params)
|
||||
{
|
||||
SoundBufferRef buffer = SoundBuffer::New();
|
||||
if (!buffer->LoadFromStream(stream, params))
|
||||
|
||||
@@ -206,7 +206,7 @@ namespace Nz
|
||||
return SoundBufferLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool SoundBuffer::LoadFromStream(InputStream& stream, const SoundBufferParams& params)
|
||||
bool SoundBuffer::LoadFromStream(Stream& stream, const SoundBufferParams& params)
|
||||
{
|
||||
return SoundBufferLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -50,8 +50,6 @@ namespace Nz
|
||||
|
||||
File::File(File&& file) noexcept :
|
||||
Stream(std::move(file)),
|
||||
InputStream(std::move(file)),
|
||||
OutputStream(std::move(file)),
|
||||
m_filePath(std::move(file.m_filePath)),
|
||||
m_impl(file.m_impl)
|
||||
{
|
||||
@@ -119,16 +117,6 @@ namespace Nz
|
||||
return Exists(m_filePath);
|
||||
}
|
||||
|
||||
void File::Flush()
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
|
||||
NazaraAssert(IsOpen(), "File is not open");
|
||||
NazaraAssert(IsWritable(), "File not opened with write access");
|
||||
|
||||
m_impl->Flush();
|
||||
}
|
||||
|
||||
time_t File::GetCreationTime() const
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
@@ -194,29 +182,6 @@ namespace Nz
|
||||
return m_impl != nullptr;
|
||||
}
|
||||
|
||||
std::size_t File::Read(void* buffer, std::size_t size)
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
|
||||
NazaraAssert(IsOpen(), "File is not opened");
|
||||
NazaraAssert(IsReadable(), "File not opened with read access");
|
||||
|
||||
if (size == 0)
|
||||
return 0;
|
||||
|
||||
if (buffer)
|
||||
return m_impl->Read(buffer, size);
|
||||
else
|
||||
{
|
||||
// Si nous ne devons rien lire, nous avançons simplement
|
||||
UInt64 currentPos = m_impl->GetCursorPos();
|
||||
|
||||
m_impl->SetCursorPos(CursorPosition_AtCurrent, size);
|
||||
|
||||
return static_cast<std::size_t>(m_impl->GetCursorPos() - currentPos);
|
||||
}
|
||||
}
|
||||
|
||||
bool File::Rename(const String& newFilePath)
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
@@ -321,21 +286,6 @@ namespace Nz
|
||||
return true;
|
||||
}
|
||||
|
||||
std::size_t File::Write(const void* buffer, std::size_t size)
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
|
||||
NazaraAssert(IsOpen(), "File is not opened");
|
||||
NazaraAssert(IsWritable(), "File not opened with write access");
|
||||
|
||||
if (size == 0)
|
||||
return 0;
|
||||
|
||||
NazaraAssert(buffer, "Invalid buffer");
|
||||
|
||||
return m_impl->Write(buffer, size);
|
||||
}
|
||||
|
||||
File& File::operator=(const String& filePath)
|
||||
{
|
||||
SetFile(filePath);
|
||||
@@ -549,6 +499,52 @@ namespace Nz
|
||||
return FileImpl::Rename(NormalizePath(sourcePath), NormalizePath(targetPath));
|
||||
}
|
||||
|
||||
void File::FlushStream()
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
|
||||
NazaraAssert(IsOpen(), "File is not open");
|
||||
|
||||
m_impl->Flush();
|
||||
}
|
||||
|
||||
std::size_t File::ReadBlock(void* buffer, std::size_t size)
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
|
||||
NazaraAssert(IsOpen(), "File is not opened");
|
||||
|
||||
if (size == 0)
|
||||
return 0;
|
||||
|
||||
if (buffer)
|
||||
return m_impl->Read(buffer, size);
|
||||
else
|
||||
{
|
||||
// Si nous ne devons rien lire, nous avançons simplement
|
||||
UInt64 currentPos = m_impl->GetCursorPos();
|
||||
|
||||
m_impl->SetCursorPos(CursorPosition_AtCurrent, size);
|
||||
|
||||
return static_cast<std::size_t>(m_impl->GetCursorPos() - currentPos);
|
||||
}
|
||||
}
|
||||
|
||||
std::size_t File::WriteBlock(const void* buffer, std::size_t size)
|
||||
{
|
||||
NazaraLock(m_mutex)
|
||||
|
||||
NazaraAssert(IsOpen(), "File is not opened");
|
||||
|
||||
if (size == 0)
|
||||
return 0;
|
||||
|
||||
NazaraAssert(buffer, "Invalid buffer");
|
||||
|
||||
return m_impl->Write(buffer, size);
|
||||
}
|
||||
|
||||
|
||||
NAZARA_CORE_API bool HashAppend(AbstractHash* hash, const File& originalFile)
|
||||
{
|
||||
File file(originalFile.GetPath());
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
// Copyright (C) 2015 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <cstring>
|
||||
#include <Nazara/Core/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
InputStream::~InputStream() = default;
|
||||
|
||||
String InputStream::ReadLine(unsigned int lineSize)
|
||||
{
|
||||
String line;
|
||||
if (lineSize == 0) // Taille maximale indéterminée
|
||||
{
|
||||
const unsigned int bufferSize = 64;
|
||||
|
||||
char buffer[bufferSize+1];
|
||||
buffer[bufferSize] = '\0';
|
||||
|
||||
unsigned int readSize;
|
||||
do
|
||||
{
|
||||
readSize = Read(buffer, bufferSize);
|
||||
|
||||
const char* ptr = std::strchr(buffer, '\n');
|
||||
if (ptr)
|
||||
{
|
||||
unsigned int pos = ptr-buffer;
|
||||
|
||||
if (m_streamOptions & StreamOption_Text && pos > 0 && buffer[pos-1] == '\r')
|
||||
line.Append(buffer, pos-1);
|
||||
else
|
||||
line.Append(buffer, pos);
|
||||
|
||||
if (!SetCursorPos(GetCursorPos() - readSize + pos + 1))
|
||||
NazaraWarning("Failed to reset cursos pos");
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
line.Append(buffer, readSize);
|
||||
}
|
||||
while (readSize == bufferSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
line.Set(lineSize, '\0');
|
||||
unsigned int readSize = Read(&line[0], lineSize);
|
||||
unsigned int pos = line.Find('\n');
|
||||
if (pos <= readSize) // Faux uniquement si le caractère n'est pas présent (npos étant le plus grand entier)
|
||||
{
|
||||
if (m_streamOptions & StreamOption_Text && pos > 0 && line[pos-1] == '\r')
|
||||
line.Resize(pos);
|
||||
else
|
||||
line.Resize(pos+1);
|
||||
|
||||
if (!SetCursorPos(GetCursorPos() - readSize + pos + 1))
|
||||
NazaraWarning("Failed to reset cursos pos");
|
||||
}
|
||||
else
|
||||
line.Resize(readSize);
|
||||
}
|
||||
|
||||
return line;
|
||||
}
|
||||
}
|
||||
@@ -33,11 +33,6 @@ namespace Nz
|
||||
return m_pos >= m_buffer.size();
|
||||
}
|
||||
|
||||
void MemoryStream::Flush()
|
||||
{
|
||||
// Nothing to flush
|
||||
}
|
||||
|
||||
const ByteArray& MemoryStream::GetBuffer() const
|
||||
{
|
||||
return m_buffer;
|
||||
@@ -58,7 +53,19 @@ namespace Nz
|
||||
return m_buffer.size();
|
||||
}
|
||||
|
||||
std::size_t MemoryStream::Read(void* buffer, std::size_t size)
|
||||
bool MemoryStream::SetCursorPos(UInt64 offset)
|
||||
{
|
||||
m_pos = std::min<UInt64>(offset, m_buffer.size());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MemoryStream::FlushStream()
|
||||
{
|
||||
// Nothing to flush
|
||||
}
|
||||
|
||||
std::size_t MemoryStream::ReadBlock(void* buffer, std::size_t size)
|
||||
{
|
||||
std::size_t readSize = std::min<std::size_t>(size, static_cast<std::size_t>(m_buffer.size() - m_pos));
|
||||
|
||||
@@ -69,14 +76,7 @@ namespace Nz
|
||||
return readSize;
|
||||
}
|
||||
|
||||
bool MemoryStream::SetCursorPos(UInt64 offset)
|
||||
{
|
||||
m_pos = std::min<UInt64>(offset, m_buffer.size());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
std::size_t MemoryStream::Write(const void* buffer, std::size_t size)
|
||||
std::size_t MemoryStream::WriteBlock(const void* buffer, std::size_t size)
|
||||
{
|
||||
std::size_t endPos = static_cast<std::size_t>(m_pos + size);
|
||||
if (endPos > m_buffer.size())
|
||||
|
||||
@@ -32,7 +32,19 @@ namespace Nz
|
||||
return m_size;
|
||||
}
|
||||
|
||||
std::size_t MemoryView::Read(void* buffer, std::size_t size)
|
||||
bool MemoryView::SetCursorPos(UInt64 offset)
|
||||
{
|
||||
m_pos = std::min(offset, m_size);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MemoryView::FlushStream()
|
||||
{
|
||||
NazaraInternalError("FlushStream has been called on a MemoryView");
|
||||
}
|
||||
|
||||
std::size_t MemoryView::ReadBlock(void* buffer, std::size_t size)
|
||||
{
|
||||
std::size_t readSize = std::min<std::size_t>(size, static_cast<std::size_t>(m_size - m_pos));
|
||||
|
||||
@@ -43,10 +55,9 @@ namespace Nz
|
||||
return readSize;
|
||||
}
|
||||
|
||||
bool MemoryView::SetCursorPos(UInt64 offset)
|
||||
std::size_t MemoryView::WriteBlock(const void* buffer, std::size_t size)
|
||||
{
|
||||
m_pos = std::min(offset, m_size);
|
||||
|
||||
return true;
|
||||
NazaraInternalError("WriteBlock has been called on a MemoryView");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
// Copyright (C) 2015 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Core/OutputStream.hpp>
|
||||
#include <Nazara/Core/ByteArray.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <cstring>
|
||||
#include <Nazara/Core/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
OutputStream::~OutputStream() = default;
|
||||
|
||||
bool OutputStream::Write(const ByteArray& byteArray)
|
||||
{
|
||||
ByteArray::size_type size = byteArray.GetSize();
|
||||
return Write(byteArray.GetConstBuffer(), size) == size;
|
||||
}
|
||||
|
||||
bool OutputStream::Write(const String& string)
|
||||
{
|
||||
String temp(string);
|
||||
|
||||
if (m_streamOptions & StreamOption_Text)
|
||||
{
|
||||
#if defined(NAZARA_PLATFORM_WINDOWS)
|
||||
temp.Replace("\n", "\r\n");
|
||||
#elif defined(NAZARA_PLATFORM_LINUX)
|
||||
// Nothing to do
|
||||
#elif defined(NAZARA_PLATFORM_MACOS)
|
||||
temp.Replace('\n', '\r');
|
||||
#endif
|
||||
}
|
||||
|
||||
std::size_t size = temp.GetSize();
|
||||
return Write(temp.GetConstBuffer(), size) == size;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <Nazara/Core/ByteArray.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Core/Debug.hpp>
|
||||
|
||||
@@ -19,4 +21,86 @@ namespace Nz
|
||||
{
|
||||
return String();
|
||||
}
|
||||
|
||||
String Stream::ReadLine(unsigned int lineSize)
|
||||
{
|
||||
String line;
|
||||
if (lineSize == 0) // Taille maximale indéterminée
|
||||
{
|
||||
const unsigned int bufferSize = 64;
|
||||
|
||||
char buffer[bufferSize + 1];
|
||||
buffer[bufferSize] = '\0';
|
||||
|
||||
unsigned int readSize;
|
||||
do
|
||||
{
|
||||
readSize = Read(buffer, bufferSize);
|
||||
|
||||
const char* ptr = std::strchr(buffer, '\n');
|
||||
if (ptr)
|
||||
{
|
||||
unsigned int pos = ptr - buffer;
|
||||
|
||||
if (m_streamOptions & StreamOption_Text && pos > 0 && buffer[pos - 1] == '\r')
|
||||
line.Append(buffer, pos - 1);
|
||||
else
|
||||
line.Append(buffer, pos);
|
||||
|
||||
if (!SetCursorPos(GetCursorPos() - readSize + pos + 1))
|
||||
NazaraWarning("Failed to reset cursos pos");
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
line.Append(buffer, readSize);
|
||||
}
|
||||
while (readSize == bufferSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
line.Set(lineSize, '\0');
|
||||
unsigned int readSize = Read(&line[0], lineSize);
|
||||
unsigned int pos = line.Find('\n');
|
||||
if (pos <= readSize) // Faux uniquement si le caractère n'est pas présent (npos étant le plus grand entier)
|
||||
{
|
||||
if (m_streamOptions & StreamOption_Text && pos > 0 && line[pos - 1] == '\r')
|
||||
line.Resize(pos);
|
||||
else
|
||||
line.Resize(pos + 1);
|
||||
|
||||
if (!SetCursorPos(GetCursorPos() - readSize + pos + 1))
|
||||
NazaraWarning("Failed to reset cursos pos");
|
||||
}
|
||||
else
|
||||
line.Resize(readSize);
|
||||
}
|
||||
|
||||
return line;
|
||||
}
|
||||
|
||||
bool Stream::Write(const ByteArray& byteArray)
|
||||
{
|
||||
ByteArray::size_type size = byteArray.GetSize();
|
||||
return Write(byteArray.GetConstBuffer(), size) == size;
|
||||
}
|
||||
|
||||
bool Stream::Write(const String& string)
|
||||
{
|
||||
String temp(string);
|
||||
|
||||
if (m_streamOptions & StreamOption_Text)
|
||||
{
|
||||
#if defined(NAZARA_PLATFORM_WINDOWS)
|
||||
temp.Replace("\n", "\r\n");
|
||||
#elif defined(NAZARA_PLATFORM_LINUX)
|
||||
// Nothing to do
|
||||
#elif defined(NAZARA_PLATFORM_MACOS)
|
||||
temp.Replace('\n', '\r');
|
||||
#endif
|
||||
}
|
||||
|
||||
std::size_t size = temp.GetSize();
|
||||
return Write(temp.GetConstBuffer(), size) == size;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Nz
|
||||
{
|
||||
namespace
|
||||
{
|
||||
Ternary CheckStatic(InputStream& stream, const ModelParameters& parameters)
|
||||
Ternary CheckStatic(Stream& stream, const ModelParameters& parameters)
|
||||
{
|
||||
NazaraUnused(stream);
|
||||
NazaraUnused(parameters);
|
||||
@@ -22,7 +22,7 @@ namespace Nz
|
||||
return Ternary_Unknown;
|
||||
}
|
||||
|
||||
bool LoadStatic(Model* model, InputStream& stream, const ModelParameters& parameters)
|
||||
bool LoadStatic(Model* model, Stream& stream, const ModelParameters& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace Nz
|
||||
return true;
|
||||
}
|
||||
|
||||
Ternary CheckAnimated(InputStream& stream, const SkeletalModelParameters& parameters)
|
||||
Ternary CheckAnimated(Stream& stream, const SkeletalModelParameters& parameters)
|
||||
{
|
||||
NazaraUnused(stream);
|
||||
NazaraUnused(parameters);
|
||||
@@ -71,7 +71,7 @@ namespace Nz
|
||||
return Ternary_Unknown;
|
||||
}
|
||||
|
||||
bool LoadAnimated(SkeletalModel* model, InputStream& stream, const SkeletalModelParameters& parameters)
|
||||
bool LoadAnimated(SkeletalModel* model, Stream& stream, const SkeletalModelParameters& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Nz
|
||||
return (extension == "obj");
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const ModelParameters& parameters)
|
||||
Ternary Check(Stream& stream, const ModelParameters& parameters)
|
||||
{
|
||||
NazaraUnused(stream);
|
||||
NazaraUnused(parameters);
|
||||
@@ -127,7 +127,7 @@ namespace Nz
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Load(Model* model, InputStream& stream, const ModelParameters& parameters)
|
||||
bool Load(Model* model, Stream& stream, const ModelParameters& parameters)
|
||||
{
|
||||
OBJParser parser(stream);
|
||||
if (!parser.Parse())
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Nz
|
||||
{
|
||||
namespace
|
||||
{
|
||||
Ternary Check(InputStream& stream, const MaterialParams& parameters)
|
||||
Ternary Check(Stream& stream, const MaterialParams& parameters)
|
||||
{
|
||||
NazaraUnused(stream);
|
||||
NazaraUnused(parameters);
|
||||
@@ -20,7 +20,7 @@ namespace Nz
|
||||
return Ternary_Unknown;
|
||||
}
|
||||
|
||||
bool Load(Material* material, InputStream& stream, const MaterialParams& parameters)
|
||||
bool Load(Material* material, Stream& stream, const MaterialParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
|
||||
@@ -370,7 +370,7 @@ namespace Nz
|
||||
return MaterialLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Material::LoadFromStream(InputStream& stream, const MaterialParams& params)
|
||||
bool Material::LoadFromStream(Stream& stream, const MaterialParams& params)
|
||||
{
|
||||
return MaterialLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ namespace Nz
|
||||
return ModelLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Model::LoadFromStream(InputStream& stream, const ModelParameters& params)
|
||||
bool Model::LoadFromStream(Stream& stream, const ModelParameters& params)
|
||||
{
|
||||
return ModelLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace Nz
|
||||
return SkeletalModelLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool SkeletalModel::LoadFromStream(InputStream& stream, const SkeletalModelParameters& params)
|
||||
bool SkeletalModel::LoadFromStream(Stream& stream, const SkeletalModelParameters& params)
|
||||
{
|
||||
return SkeletalModelLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Nz
|
||||
|
||||
struct StreamData
|
||||
{
|
||||
InputStream* stream;
|
||||
Stream* stream;
|
||||
char buffer[NAZARA_CORE_FILE_BUFFERSIZE];
|
||||
};
|
||||
|
||||
@@ -422,7 +422,7 @@ namespace Nz
|
||||
return ExecuteFromStream(stream);
|
||||
}
|
||||
|
||||
bool LuaInstance::ExecuteFromStream(InputStream& stream)
|
||||
bool LuaInstance::ExecuteFromStream(Stream& stream)
|
||||
{
|
||||
StreamData data;
|
||||
data.stream = &stream;
|
||||
|
||||
@@ -599,7 +599,7 @@ namespace Nz
|
||||
return LoadFromImage(image, generateMipmaps);
|
||||
}
|
||||
|
||||
bool Texture::LoadFromStream(InputStream& stream, const ImageParams& params, bool generateMipmaps)
|
||||
bool Texture::LoadFromStream(Stream& stream, const ImageParams& params, bool generateMipmaps)
|
||||
{
|
||||
Image image;
|
||||
if (!image.LoadFromStream(stream, params))
|
||||
@@ -647,7 +647,7 @@ namespace Nz
|
||||
return LoadFromImage(cubemap, generateMipmaps);
|
||||
}
|
||||
|
||||
bool Texture::LoadArrayFromStream(InputStream& stream, const ImageParams& imageParams, bool generateMipmaps, const Vector2ui& atlasSize)
|
||||
bool Texture::LoadArrayFromStream(Stream& stream, const ImageParams& imageParams, bool generateMipmaps, const Vector2ui& atlasSize)
|
||||
{
|
||||
Image cubemap;
|
||||
if (!cubemap.LoadArrayFromStream(stream, imageParams, atlasSize))
|
||||
@@ -695,7 +695,7 @@ namespace Nz
|
||||
return LoadFromImage(cubemap, generateMipmaps);
|
||||
}
|
||||
|
||||
bool Texture::LoadCubemapFromStream(InputStream& stream, const ImageParams& imageParams, bool generateMipmaps, const CubemapParams& cubemapParams)
|
||||
bool Texture::LoadCubemapFromStream(Stream& stream, const ImageParams& imageParams, bool generateMipmaps, const CubemapParams& cubemapParams)
|
||||
{
|
||||
Image cubemap;
|
||||
if (!cubemap.LoadCubemapFromStream(stream, imageParams, cubemapParams))
|
||||
@@ -785,7 +785,7 @@ namespace Nz
|
||||
return Update(image, Rectui(0, 0, faceSize, faceSize), face);
|
||||
}
|
||||
|
||||
bool Texture::LoadFaceFromStream(CubemapFace face, InputStream& stream, const ImageParams& params)
|
||||
bool Texture::LoadFaceFromStream(CubemapFace face, Stream& stream, const ImageParams& params)
|
||||
{
|
||||
#if NAZARA_RENDERER_SAFE
|
||||
if (!m_impl)
|
||||
|
||||
@@ -458,7 +458,7 @@ namespace Nz
|
||||
return AnimationLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Animation::LoadFromStream(InputStream& stream, const AnimationParams& params)
|
||||
bool Animation::LoadFromStream(Stream& stream, const AnimationParams& params)
|
||||
{
|
||||
return AnimationLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ namespace Nz
|
||||
return FontLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Font::OpenFromStream(InputStream& stream, const FontParams& params)
|
||||
bool Font::OpenFromStream(Stream& stream, const FontParams& params)
|
||||
{
|
||||
return FontLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <Nazara/Utility/Formats/DDSLoader.hpp>
|
||||
#include <Nazara/Core/Endianness.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <Nazara/Utility/Image.hpp>
|
||||
#include <Nazara/Utility/Formats/DDSConstants.hpp>
|
||||
#include <memory>
|
||||
@@ -20,7 +20,7 @@ namespace Nz
|
||||
return (extension == "dds");
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const ImageParams& parameters)
|
||||
Ternary Check(Stream& stream, const ImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace Nz
|
||||
return Ternary_False;
|
||||
}
|
||||
|
||||
bool Load(Image* image, InputStream& stream, const ImageParams& parameters)
|
||||
bool Load(Image* image, Stream& stream, const ImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
#include FT_BITMAP_H
|
||||
#include FT_OUTLINE_H
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/MemoryView.hpp>
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <Nazara/Utility/Font.hpp>
|
||||
#include <Nazara/Utility/FontData.hpp>
|
||||
#include <Nazara/Utility/FontGlyph.hpp>
|
||||
@@ -31,7 +31,7 @@ namespace Nz
|
||||
unsigned long FT_StreamRead(FT_Stream stream, unsigned long offset, unsigned char* buffer, unsigned long count)
|
||||
{
|
||||
// http://www.freetype.org/freetype2/docs/reference/ft2-system_interface.html#FT_Stream_IoFunc
|
||||
InputStream& inputStream = *static_cast<InputStream*>(stream->descriptor.pointer);
|
||||
Stream& inputStream = *static_cast<Stream*>(stream->descriptor.pointer);
|
||||
|
||||
// La valeur de count indique une opération de lecture ou de positionnement
|
||||
if (count > 0)
|
||||
@@ -298,7 +298,7 @@ namespace Nz
|
||||
SetStream(*m_ownedStream);
|
||||
}
|
||||
|
||||
void SetStream(InputStream& stream)
|
||||
void SetStream(Stream& stream)
|
||||
{
|
||||
m_stream.base = nullptr;
|
||||
m_stream.close = FT_StreamClose;
|
||||
@@ -332,7 +332,7 @@ namespace Nz
|
||||
FT_Face m_face;
|
||||
FT_StreamRec m_stream;
|
||||
std::shared_ptr<FreeTypeLibrary> m_library;
|
||||
std::unique_ptr<InputStream> m_ownedStream;
|
||||
std::unique_ptr<Stream> m_ownedStream;
|
||||
mutable unsigned int m_characterSize;
|
||||
};
|
||||
|
||||
@@ -346,7 +346,7 @@ namespace Nz
|
||||
return supportedExtensions.find(extension) != supportedExtensions.end();
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const FontParams& parameters)
|
||||
Ternary Check(Stream& stream, const FontParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -408,7 +408,7 @@ namespace Nz
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LoadStream(Font* font, InputStream& stream, const FontParams& parameters)
|
||||
bool LoadStream(Font* font, Stream& stream, const FontParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <Nazara/Utility/Formats/MD2Loader.hpp>
|
||||
#include <Nazara/Core/Endianness.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <Nazara/Math/Algorithm.hpp>
|
||||
#include <Nazara/Math/Quaternion.hpp>
|
||||
#include <Nazara/Utility/BufferMapper.hpp>
|
||||
@@ -26,7 +26,7 @@ namespace Nz
|
||||
return (extension == "md2");
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const MeshParams& parameters)
|
||||
Ternary Check(Stream& stream, const MeshParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace Nz
|
||||
return Ternary_False;
|
||||
}
|
||||
|
||||
bool Load(Mesh* mesh, InputStream& stream, const MeshParams& parameters)
|
||||
bool Load(Mesh* mesh, Stream& stream, const MeshParams& parameters)
|
||||
{
|
||||
MD2_Header header;
|
||||
if (stream.Read(&header, sizeof(MD2_Header)) != sizeof(MD2_Header))
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Nz
|
||||
return (extension == "md5anim");
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const AnimationParams& parameters)
|
||||
Ternary Check(Stream& stream, const AnimationParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Nz
|
||||
return parser.Check();
|
||||
}
|
||||
|
||||
bool Load(Animation* animation, InputStream& stream, const AnimationParams& parameters)
|
||||
bool Load(Animation* animation, Stream& stream, const AnimationParams& parameters)
|
||||
{
|
||||
///TODO: Utiliser les paramètres
|
||||
MD5AnimParser parser(stream);
|
||||
|
||||
@@ -15,22 +15,22 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
MD5AnimParser::MD5AnimParser(InputStream& stream) :
|
||||
MD5AnimParser::MD5AnimParser(Stream& stream) :
|
||||
m_stream(stream),
|
||||
m_keepLastLine(false),
|
||||
m_frameIndex(0),
|
||||
m_frameRate(0),
|
||||
m_lineCount(0),
|
||||
m_streamFlags(stream.GetStreamOptions())
|
||||
m_streamFlags(stream.GetStreamOptions()) //< Saves stream flags
|
||||
{
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags | StreamOption_Text);
|
||||
m_stream.EnableTextMode(true);
|
||||
}
|
||||
|
||||
MD5AnimParser::~MD5AnimParser()
|
||||
{
|
||||
// Reset stream flags
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags);
|
||||
m_stream.EnableTextMode(false);
|
||||
}
|
||||
|
||||
Ternary MD5AnimParser::Check()
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Nz
|
||||
return (extension == "md5mesh");
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const MeshParams& parameters)
|
||||
Ternary Check(Stream& stream, const MeshParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Nz
|
||||
return parser.Check();
|
||||
}
|
||||
|
||||
bool Load(Mesh* mesh, InputStream& stream, const MeshParams& parameters)
|
||||
bool Load(Mesh* mesh, Stream& stream, const MeshParams& parameters)
|
||||
{
|
||||
MD5MeshParser parser(stream);
|
||||
if (!parser.Parse())
|
||||
|
||||
@@ -21,21 +21,21 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
MD5MeshParser::MD5MeshParser(InputStream& stream) :
|
||||
MD5MeshParser::MD5MeshParser(Stream& stream) :
|
||||
m_stream(stream),
|
||||
m_keepLastLine(false),
|
||||
m_lineCount(0),
|
||||
m_meshIndex(0),
|
||||
m_streamFlags(stream.GetStreamOptions())
|
||||
m_streamFlags(stream.GetStreamOptions()) //< Saves stream flags
|
||||
{
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags | StreamOption_Text);
|
||||
m_stream.EnableTextMode(true);
|
||||
}
|
||||
|
||||
MD5MeshParser::~MD5MeshParser()
|
||||
{
|
||||
// Reset stream flags
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags);
|
||||
m_stream.EnableTextMode(false);
|
||||
}
|
||||
|
||||
Ternary MD5MeshParser::Check()
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
MTLParser::MTLParser(InputStream& stream) :
|
||||
MTLParser::MTLParser(Stream& stream) :
|
||||
m_stream(stream),
|
||||
m_streamFlags(stream.GetStreamOptions())
|
||||
m_streamFlags(stream.GetStreamOptions()) //< Saves stream flags
|
||||
{
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags | StreamOption_Text);
|
||||
m_stream.EnableTextMode(true);
|
||||
}
|
||||
|
||||
MTLParser::~MTLParser()
|
||||
{
|
||||
// Reset stream flags
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags);
|
||||
m_stream.EnableTextMode(false);
|
||||
}
|
||||
|
||||
const MTLParser::Material* MTLParser::GetMaterial(const String& materialName) const
|
||||
|
||||
@@ -13,18 +13,18 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
OBJParser::OBJParser(InputStream& stream) :
|
||||
OBJParser::OBJParser(Stream& stream) :
|
||||
m_stream(stream),
|
||||
m_streamFlags(stream.GetStreamOptions())
|
||||
m_streamFlags(stream.GetStreamOptions()) //< Saves stream flags
|
||||
{
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags | StreamOption_Text);
|
||||
m_stream.EnableTextMode(true);
|
||||
}
|
||||
|
||||
OBJParser::~OBJParser()
|
||||
{
|
||||
// Reset stream flags
|
||||
if ((m_streamFlags & StreamOption_Text) == 0)
|
||||
m_stream.SetStreamOptions(m_streamFlags);
|
||||
m_stream.EnableTextMode(false);
|
||||
}
|
||||
|
||||
const String* OBJParser::GetMaterials() const
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <Nazara/Utility/Formats/PCXLoader.hpp>
|
||||
#include <Nazara/Core/Endianness.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <Nazara/Utility/Image.hpp>
|
||||
#include <memory>
|
||||
#include <Nazara/Utility/Debug.hpp>
|
||||
@@ -45,7 +45,7 @@ namespace Nz
|
||||
return (extension == "pcx");
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const ImageParams& parameters)
|
||||
Ternary Check(Stream& stream, const ImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace Nz
|
||||
return Ternary_False;
|
||||
}
|
||||
|
||||
bool Load(Image* image, InputStream& stream, const ImageParams& parameters)
|
||||
bool Load(Image* image, Stream& stream, const ImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
#include <Nazara/Core/Endianness.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/File.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/MemoryView.hpp>
|
||||
#include <Nazara/Core/Stream.hpp>
|
||||
#include <Nazara/Utility/Image.hpp>
|
||||
#include <set>
|
||||
#include <Nazara/Utility/Debug.hpp>
|
||||
@@ -19,19 +19,19 @@ namespace Nz
|
||||
{
|
||||
int Read(void* userdata, char* data, int size)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(userdata);
|
||||
Stream* stream = static_cast<Stream*>(userdata);
|
||||
return static_cast<int>(stream->Read(data, size));
|
||||
}
|
||||
|
||||
void Skip(void* userdata, int size)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(userdata);
|
||||
Stream* stream = static_cast<Stream*>(userdata);
|
||||
stream->SetCursorPos(static_cast<Int64>(stream->GetCursorPos()) + static_cast<Int64>(size));
|
||||
}
|
||||
|
||||
int Eof(void* userdata)
|
||||
{
|
||||
InputStream* stream = static_cast<InputStream*>(userdata);
|
||||
Stream* stream = static_cast<Stream*>(userdata);
|
||||
return stream->GetCursorPos() >= stream->GetSize();
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace Nz
|
||||
return supportedExtensions.find(extension) != supportedExtensions.end();
|
||||
}
|
||||
|
||||
Ternary Check(InputStream& stream, const ImageParams& parameters)
|
||||
Ternary Check(Stream& stream, const ImageParams& parameters)
|
||||
{
|
||||
NazaraUnused(parameters);
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace Nz
|
||||
return Ternary_False;
|
||||
}
|
||||
|
||||
bool Load(Image* image, InputStream& stream, const ImageParams& parameters)
|
||||
bool Load(Image* image, Stream& stream, const ImageParams& parameters)
|
||||
{
|
||||
// Je charge tout en RGBA8 et je converti ensuite via la méthode Convert
|
||||
// Ceci à cause d'un bug de STB lorsqu'il s'agit de charger certaines images (ex: JPG) en "default"
|
||||
|
||||
@@ -831,7 +831,7 @@ namespace Nz
|
||||
return ImageLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Image::LoadFromStream(InputStream& stream, const ImageParams& params)
|
||||
bool Image::LoadFromStream(Stream& stream, const ImageParams& params)
|
||||
{
|
||||
return ImageLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
@@ -923,7 +923,7 @@ namespace Nz
|
||||
return LoadArrayFromImage(image, atlasSize);
|
||||
}
|
||||
|
||||
bool Image::LoadArrayFromStream(InputStream& stream, const ImageParams& imageParams, const Vector2ui& atlasSize)
|
||||
bool Image::LoadArrayFromStream(Stream& stream, const ImageParams& imageParams, const Vector2ui& atlasSize)
|
||||
{
|
||||
Image image;
|
||||
if (!image.LoadFromStream(stream, imageParams))
|
||||
@@ -1054,7 +1054,7 @@ namespace Nz
|
||||
return LoadCubemapFromImage(image, cubemapParams);
|
||||
}
|
||||
|
||||
bool Image::LoadCubemapFromStream(InputStream& stream, const ImageParams& imageParams, const CubemapParams& cubemapParams)
|
||||
bool Image::LoadCubemapFromStream(Stream& stream, const ImageParams& imageParams, const CubemapParams& cubemapParams)
|
||||
{
|
||||
Image image;
|
||||
if (!image.LoadFromStream(stream, imageParams))
|
||||
|
||||
@@ -795,7 +795,7 @@ namespace Nz
|
||||
return MeshLoader::LoadFromMemory(this, data, size, params);
|
||||
}
|
||||
|
||||
bool Mesh::LoadFromStream(InputStream& stream, const MeshParams& params)
|
||||
bool Mesh::LoadFromStream(Stream& stream, const MeshParams& params)
|
||||
{
|
||||
return MeshLoader::LoadFromStream(this, stream, params);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user