mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-11-23 05:12:05 +00:00
remove GSC-Tool use
This commit is contained in:
@@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
#include "ScriptCompileT6.h"
|
|
||||||
|
|
||||||
using namespace T6;
|
using namespace T6;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
@@ -19,40 +17,23 @@ namespace
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
const unsigned char T6GSCMagic[8] = {0x80, 0x47, 0x53, 0x43, 0x0D, 0x0A, 0x00, 0x06 };
|
|
||||||
|
|
||||||
AssetCreationResult CreateAsset(const std::string& assetName, AssetCreationContext& context) override
|
AssetCreationResult CreateAsset(const std::string& assetName, AssetCreationContext& context) override
|
||||||
{
|
{
|
||||||
const auto file = m_search_path.Open(assetName);
|
const auto file = m_search_path.Open(assetName);
|
||||||
if (!file.IsOpen())
|
if (!file.IsOpen())
|
||||||
return AssetCreationResult::NoAction();
|
return AssetCreationResult::NoAction();
|
||||||
|
|
||||||
|
auto* scriptParseTree = m_memory.Alloc<ScriptParseTree>();
|
||||||
|
scriptParseTree->name = m_memory.Dup(assetName.c_str());
|
||||||
|
scriptParseTree->len = static_cast<int>(file.m_length);
|
||||||
|
|
||||||
auto* fileBuffer = m_memory.Alloc<char>(static_cast<size_t>(file.m_length + 1));
|
auto* fileBuffer = m_memory.Alloc<char>(static_cast<size_t>(file.m_length + 1));
|
||||||
file.m_stream->read(fileBuffer, file.m_length);
|
file.m_stream->read(fileBuffer, file.m_length);
|
||||||
if (file.m_stream->gcount() != file.m_length || file.m_length < 0x10)
|
if (file.m_stream->gcount() != file.m_length)
|
||||||
return AssetCreationResult::Failure();
|
return AssetCreationResult::Failure();
|
||||||
fileBuffer[file.m_length] = '\0';
|
fileBuffer[scriptParseTree->len] = '\0';
|
||||||
|
|
||||||
auto* scriptParseTree = m_memory.Alloc<ScriptParseTree>();
|
|
||||||
scriptParseTree->name = m_memory.Dup(assetName.c_str());
|
|
||||||
|
|
||||||
if (memcmp(fileBuffer, T6GSCMagic, 8) == 0)
|
|
||||||
{
|
|
||||||
scriptParseTree->len = static_cast<int>(file.m_length);
|
|
||||||
scriptParseTree->buffer = static_cast<char16*>(fileBuffer);
|
scriptParseTree->buffer = static_cast<char16*>(fileBuffer);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
size_t compiledSize;
|
|
||||||
char* result = compileScriptT6(assetName, fileBuffer, static_cast<size_t>(file.m_length), &compiledSize);
|
|
||||||
if (result == NULL)
|
|
||||||
return AssetCreationResult::Failure();
|
|
||||||
|
|
||||||
scriptParseTree->buffer = result;
|
|
||||||
scriptParseTree->len = static_cast<int>(compiledSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
return AssetCreationResult::Success(context.AddAsset<AssetScript>(assetName, scriptParseTree));
|
return AssetCreationResult::Success(context.AddAsset<AssetScript>(assetName, scriptParseTree));
|
||||||
}
|
}
|
||||||
@@ -63,10 +44,10 @@ namespace
|
|||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
namespace T6
|
namespace script
|
||||||
{
|
{
|
||||||
std::unique_ptr<AssetCreator<AssetScript>> CreateScriptLoader(MemoryManager& memory, ISearchPath& searchPath)
|
std::unique_ptr<AssetCreator<AssetScript>> CreateLoaderT6(MemoryManager& memory, ISearchPath& searchPath)
|
||||||
{
|
{
|
||||||
return std::make_unique<ScriptLoader>(memory, searchPath);
|
return std::make_unique<ScriptLoader>(memory, searchPath);
|
||||||
}
|
}
|
||||||
} // namespace T6
|
} // namespace script
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
namespace T6
|
namespace script
|
||||||
{
|
{
|
||||||
std::unique_ptr<AssetCreator<AssetScript>> CreateScriptLoader(MemoryManager& memory, ISearchPath& searchPath);
|
std::unique_ptr<AssetCreator<T6::AssetScript>> CreateLoaderT6(MemoryManager& memory, ISearchPath& searchPath);
|
||||||
} // namespace T6
|
} // namespace script
|
||||||
|
|||||||
Reference in New Issue
Block a user