Merge pull request #315 from Diegoisawesome/master
Update scaninc and preproc with multi-file incbins
This commit is contained in:
commit
48ee3ec959
2 changed files with 69 additions and 52 deletions
|
@ -325,6 +325,10 @@ void CFile::TryConvertIncbin()
|
|||
|
||||
m_pos++;
|
||||
|
||||
std::printf("{");
|
||||
|
||||
while (true)
|
||||
{
|
||||
SkipWhitespace();
|
||||
|
||||
if (m_buffer[m_pos] != '"')
|
||||
|
@ -357,15 +361,6 @@ void CFile::TryConvertIncbin()
|
|||
|
||||
m_pos++;
|
||||
|
||||
SkipWhitespace();
|
||||
|
||||
if (m_buffer[m_pos] != ')')
|
||||
RaiseError("expected ')'");
|
||||
|
||||
m_pos++;
|
||||
|
||||
std::printf("{");
|
||||
|
||||
int fileSize;
|
||||
std::unique_ptr<unsigned char[]> buffer = ReadWholeFile(path, fileSize);
|
||||
|
||||
|
@ -386,6 +381,19 @@ void CFile::TryConvertIncbin()
|
|||
std::printf("%uu,", data);
|
||||
}
|
||||
|
||||
SkipWhitespace();
|
||||
|
||||
if (m_buffer[m_pos] != ',')
|
||||
break;
|
||||
|
||||
m_pos++;
|
||||
}
|
||||
|
||||
if (m_buffer[m_pos] != ')')
|
||||
RaiseError("expected ')'");
|
||||
|
||||
m_pos++;
|
||||
|
||||
std::printf("}");
|
||||
}
|
||||
|
||||
|
|
|
@ -244,18 +244,27 @@ void CFile::CheckIncbin()
|
|||
|
||||
m_pos++;
|
||||
|
||||
while (true)
|
||||
{
|
||||
SkipWhitespace();
|
||||
|
||||
std::string path = ReadPath();
|
||||
|
||||
SkipWhitespace();
|
||||
|
||||
m_incbins.emplace(path);
|
||||
|
||||
if (m_buffer[m_pos] != ',')
|
||||
break;
|
||||
|
||||
m_pos++;
|
||||
}
|
||||
|
||||
if (m_buffer[m_pos] != ')')
|
||||
FATAL_INPUT_ERROR("expected ')'");
|
||||
|
||||
m_pos++;
|
||||
|
||||
m_incbins.emplace(path);
|
||||
}
|
||||
|
||||
std::string CFile::ReadPath()
|
||||
|
|
Loading…
Reference in a new issue