mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-06-06 15:53:28 +00:00
Windows fixes
This commit is contained in:
parent
500589dbd3
commit
8534af8b4d
@ -47,7 +47,7 @@ extern "C" size_t HECL_BLENDERSHELL_SZ;
|
|||||||
|
|
||||||
extern "C" uint8_t HECL_ADDON[];
|
extern "C" uint8_t HECL_ADDON[];
|
||||||
extern "C" size_t HECL_ADDON_SZ;
|
extern "C" size_t HECL_ADDON_SZ;
|
||||||
|
|
||||||
extern "C" uint8_t HECL_STARTUP[];
|
extern "C" uint8_t HECL_STARTUP[];
|
||||||
extern "C" size_t HECL_STARTUP_SZ;
|
extern "C" size_t HECL_STARTUP_SZ;
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ static void InstallBlendershell(const SystemChar* path)
|
|||||||
fwrite(HECL_BLENDERSHELL, 1, HECL_BLENDERSHELL_SZ, fp);
|
fwrite(HECL_BLENDERSHELL, 1, HECL_BLENDERSHELL_SZ, fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void InstallAddon(const SystemChar* path)
|
static void InstallAddon(const SystemChar* path)
|
||||||
{
|
{
|
||||||
FILE* fp = hecl::Fopen(path, _S("wb"));
|
FILE* fp = hecl::Fopen(path, _S("wb"));
|
||||||
@ -77,7 +77,7 @@ static void InstallStartup(const char* path)
|
|||||||
fwrite(HECL_STARTUP, 1, HECL_STARTUP_SZ, fp);
|
fwrite(HECL_STARTUP, 1, HECL_STARTUP_SZ, fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t BlenderConnection::_readLine(char* buf, size_t bufSz)
|
size_t BlenderConnection::_readLine(char* buf, size_t bufSz)
|
||||||
{
|
{
|
||||||
size_t readBytes = 0;
|
size_t readBytes = 0;
|
||||||
@ -168,7 +168,7 @@ void BlenderConnection::_closePipe()
|
|||||||
BlenderConnection::BlenderConnection(int verbosityLevel)
|
BlenderConnection::BlenderConnection(int verbosityLevel)
|
||||||
{
|
{
|
||||||
BlenderLog.report(logvisor::Info, "Establishing BlenderConnection...");
|
BlenderLog.report(logvisor::Info, "Establishing BlenderConnection...");
|
||||||
|
|
||||||
/* Put hecl_blendershell.py in temp dir */
|
/* Put hecl_blendershell.py in temp dir */
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
wchar_t* TMPDIR = _wgetenv(L"TEMP");
|
wchar_t* TMPDIR = _wgetenv(L"TEMP");
|
||||||
@ -188,7 +188,7 @@ BlenderConnection::BlenderConnection(int verbosityLevel)
|
|||||||
hecl::SystemString blenderAddonPath(TMPDIR);
|
hecl::SystemString blenderAddonPath(TMPDIR);
|
||||||
blenderAddonPath += _S("/hecl_blenderaddon.zip");
|
blenderAddonPath += _S("/hecl_blenderaddon.zip");
|
||||||
InstallAddon(blenderAddonPath.c_str());
|
InstallAddon(blenderAddonPath.c_str());
|
||||||
|
|
||||||
m_startupBlend += "/hecl_startup.blend";
|
m_startupBlend += "/hecl_startup.blend";
|
||||||
InstallStartup(m_startupBlend.c_str());
|
InstallStartup(m_startupBlend.c_str());
|
||||||
|
|
||||||
@ -239,7 +239,9 @@ BlenderConnection::BlenderConnection(int verbosityLevel)
|
|||||||
if (verbosityLevel == 0)
|
if (verbosityLevel == 0)
|
||||||
{
|
{
|
||||||
SECURITY_ATTRIBUTES sattrs = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
|
SECURITY_ATTRIBUTES sattrs = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE};
|
||||||
nulHandle = CreateFileW(L"nul", GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, &sattrs, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
nulHandle = CreateFileW(L"nul", GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||||
|
&sattrs, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||||
|
sinfo.hStdInput = nulHandle;
|
||||||
sinfo.hStdError = nulHandle;
|
sinfo.hStdError = nulHandle;
|
||||||
sinfo.hStdOutput = nulHandle;
|
sinfo.hStdOutput = nulHandle;
|
||||||
sinfo.dwFlags = STARTF_USESTDHANDLES;
|
sinfo.dwFlags = STARTF_USESTDHANDLES;
|
||||||
|
2
hecl/extern/boo
vendored
2
hecl/extern/boo
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 165b40448fa651ab56891ec7f4e3f149f8db7ecf
|
Subproject commit 01649d42f68c09f377741113ccd139116cb243e8
|
@ -701,12 +701,16 @@ public:
|
|||||||
{
|
{
|
||||||
if (absPath.size() > m_projRoot.size())
|
if (absPath.size() > m_projRoot.size())
|
||||||
{
|
{
|
||||||
if (!absPath.compare(0, m_projRoot.size(), m_projRoot))
|
SystemString absPathForward(absPath);
|
||||||
|
for (SystemChar& ch : absPathForward)
|
||||||
|
if (ch == _S('\\'))
|
||||||
|
ch = _S('/');
|
||||||
|
if (!absPathForward.compare(0, m_projRoot.size(), m_projRoot))
|
||||||
{
|
{
|
||||||
auto beginIt = absPath.cbegin() + m_projRoot.size();
|
auto beginIt = absPathForward.cbegin() + m_projRoot.size();
|
||||||
while (*beginIt == _S('/') || *beginIt == _S('\\'))
|
while (*beginIt == _S('/'))
|
||||||
++beginIt;
|
++beginIt;
|
||||||
return SystemString(beginIt, absPath.cend());
|
return SystemString(beginIt, absPathForward.cend());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LogModule.report(logvisor::Fatal, "unable to resolve '%s' as project relative '%s'",
|
LogModule.report(logvisor::Fatal, "unable to resolve '%s' as project relative '%s'",
|
||||||
|
@ -111,8 +111,8 @@ std::string HLSL::makeVert(unsigned col, unsigned uv, unsigned w,
|
|||||||
if (s)
|
if (s)
|
||||||
{
|
{
|
||||||
/* skinned */
|
/* skinned */
|
||||||
retval += " vec4 posAccum = float4(0.0,0.0,0.0,0.0);\n"
|
retval += " float4 posAccum = float4(0.0,0.0,0.0,0.0);\n"
|
||||||
" vec4 normAccum = float4(0.0,0.0,0.0,0.0);\n";
|
" float4 normAccum = float4(0.0,0.0,0.0,0.0);\n";
|
||||||
for (size_t i=0 ; i<s ; ++i)
|
for (size_t i=0 ; i<s ; ++i)
|
||||||
retval += hecl::Format(" posAccum += mul(mv[%" PRISize "], float4(v.posIn, 1.0)) * v.weightIn[%" PRISize "][%" PRISize "];\n"
|
retval += hecl::Format(" posAccum += mul(mv[%" PRISize "], float4(v.posIn, 1.0)) * v.weightIn[%" PRISize "][%" PRISize "];\n"
|
||||||
" normAccum += mul(mvInv[%" PRISize "], float4(v.normIn, 1.0)) * v.weightIn[%" PRISize "][%" PRISize "];\n",
|
" normAccum += mul(mvInv[%" PRISize "], float4(v.normIn, 1.0)) * v.weightIn[%" PRISize "][%" PRISize "];\n",
|
||||||
@ -169,7 +169,7 @@ std::string HLSL::makeFrag(const ShaderFunction& lighting) const
|
|||||||
if (lighting.m_entry)
|
if (lighting.m_entry)
|
||||||
retval += hecl::Format(" float4 lighting = %s();\n", lighting.m_entry);
|
retval += hecl::Format(" float4 lighting = %s();\n", lighting.m_entry);
|
||||||
else
|
else
|
||||||
retval += " float4 lighting = vec4(1.0,1.0,1.0,1.0);\n";
|
retval += " float4 lighting = float4(1.0,1.0,1.0,1.0);\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned sampIdx = 0;
|
unsigned sampIdx = 0;
|
||||||
|
@ -86,9 +86,9 @@ void ProjectPath::assign(Database::Project& project, const std::string& path)
|
|||||||
m_absPath = project.getProjectRootPath().getAbsolutePath() + _S('/') + m_relPath;
|
m_absPath = project.getProjectRootPath().getAbsolutePath() + _S('/') + m_relPath;
|
||||||
SanitizePath(m_relPath);
|
SanitizePath(m_relPath);
|
||||||
SanitizePath(m_absPath);
|
SanitizePath(m_absPath);
|
||||||
m_hash = Hash(m_relPath);
|
|
||||||
m_utf8AbsPath = WideToUTF8(m_absPath);
|
m_utf8AbsPath = WideToUTF8(m_absPath);
|
||||||
m_utf8RelPath = WideToUTF8(m_relPath);
|
m_utf8RelPath = WideToUTF8(m_relPath);
|
||||||
|
m_hash = Hash(m_utf8RelPath);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -118,9 +118,9 @@ void ProjectPath::assign(const ProjectPath& parentPath, const std::string& path)
|
|||||||
m_absPath = m_proj->getProjectRootPath().getAbsolutePath() + _S('/') + m_relPath;
|
m_absPath = m_proj->getProjectRootPath().getAbsolutePath() + _S('/') + m_relPath;
|
||||||
SanitizePath(m_relPath);
|
SanitizePath(m_relPath);
|
||||||
SanitizePath(m_absPath);
|
SanitizePath(m_absPath);
|
||||||
m_hash = Hash(m_relPath);
|
|
||||||
m_utf8AbsPath = WideToUTF8(m_absPath);
|
m_utf8AbsPath = WideToUTF8(m_absPath);
|
||||||
m_utf8RelPath = WideToUTF8(m_relPath);
|
m_utf8RelPath = WideToUTF8(m_relPath);
|
||||||
|
m_hash = Hash(m_utf8RelPath);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user