mirror of
https://github.com/odrling/Aegisub
synced 2025-04-11 22:56:02 +02:00
More optimizations
Originally committed to SVN as r1103.
This commit is contained in:
parent
83f0c94545
commit
feff4e63f3
@ -298,9 +298,10 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
static wxString keepGroup;
|
static wxString keepGroup;
|
||||||
if (!keepGroup.IsEmpty()) group = keepGroup;
|
if (!keepGroup.IsEmpty()) group = keepGroup;
|
||||||
if (outGroup) *outGroup = group;
|
if (outGroup) *outGroup = group;
|
||||||
|
wxString lowGroup = group.Lower();
|
||||||
|
|
||||||
// Attachment
|
// Attachment
|
||||||
if (group.Lower() == _T("[fonts]") || group.Lower() == _T("[graphics]")) {
|
if (lowGroup == _T("[fonts]") || lowGroup == _T("[graphics]")) {
|
||||||
// Check if it's valid data
|
// Check if it's valid data
|
||||||
size_t dataLen = data.Length();
|
size_t dataLen = data.Length();
|
||||||
bool validData = (dataLen > 0) && (dataLen <= 80);
|
bool validData = (dataLen > 0) && (dataLen <= 80);
|
||||||
@ -309,7 +310,7 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Is the filename line?
|
// Is the filename line?
|
||||||
bool isFilename = (data.Left(10) == _T("fontname: ") && group == _T("[Fonts]")) || (data.Left(10) == _T("filename: ") && group == _T("[Graphics]"));
|
bool isFilename = (data.Left(10) == _T("fontname: ") && lowGroup == _T("[fonts]")) || (data.Left(10) == _T("filename: ") && lowGroup == _T("[graphics]"));
|
||||||
|
|
||||||
// The attachment file is static, since it is built through several calls to this
|
// The attachment file is static, since it is built through several calls to this
|
||||||
// After it's done building, it's reset to NULL
|
// After it's done building, it's reset to NULL
|
||||||
@ -320,6 +321,7 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
attach->Finish();
|
attach->Finish();
|
||||||
keepGroup.Clear();
|
keepGroup.Clear();
|
||||||
group = origGroup;
|
group = origGroup;
|
||||||
|
lowGroup = group.Lower();
|
||||||
Line.push_back(attach);
|
Line.push_back(attach);
|
||||||
attach = NULL;
|
attach = NULL;
|
||||||
}
|
}
|
||||||
@ -343,6 +345,7 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
attach->Finish();
|
attach->Finish();
|
||||||
keepGroup.Clear();
|
keepGroup.Clear();
|
||||||
group = origGroup;
|
group = origGroup;
|
||||||
|
lowGroup = group.Lower();
|
||||||
entry = attach;
|
entry = attach;
|
||||||
attach = NULL;
|
attach = NULL;
|
||||||
}
|
}
|
||||||
@ -355,7 +358,7 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dialogue
|
// Dialogue
|
||||||
if (group.Lower() == _T("[events]")) {
|
if (lowGroup == _T("[events]")) {
|
||||||
if ((data.Left(9) == _T("Dialogue:") || data.Left(8) == _T("Comment:"))) {
|
if ((data.Left(9) == _T("Dialogue:") || data.Left(8) == _T("Comment:"))) {
|
||||||
AssDialogue *diag = new AssDialogue(data,version);
|
AssDialogue *diag = new AssDialogue(data,version);
|
||||||
lasttime = diag->Start.GetMS();
|
lasttime = diag->Start.GetMS();
|
||||||
@ -372,7 +375,7 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Style
|
// Style
|
||||||
else if (group.Lower() == _T("[v4+ styles]")) {
|
else if (lowGroup == _T("[v4+ styles]")) {
|
||||||
if (data.Left(6) == _T("Style:")) {
|
if (data.Left(6) == _T("Style:")) {
|
||||||
AssStyle *style = new AssStyle(data,version);
|
AssStyle *style = new AssStyle(data,version);
|
||||||
entry = style;
|
entry = style;
|
||||||
@ -387,7 +390,7 @@ int AssFile::AddLine (wxString data,wxString group,int lasttime,int &version,wxS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Script info
|
// Script info
|
||||||
else if (group.Lower() == _T("[script info]")) {
|
else if (lowGroup == _T("[script info]")) {
|
||||||
// Comment
|
// Comment
|
||||||
if (data.Left(1) == _T(";")) {
|
if (data.Left(1) == _T(";")) {
|
||||||
// Skip stupid comments added by other programs
|
// Skip stupid comments added by other programs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user