mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-09 21:21:19 -06:00
Merge pull request #1974 from OpenSpace/issue/1905
Fix for ASCII recording to correctly handle multi-line keybinding script
This commit is contained in:
@@ -927,6 +927,19 @@ void SessionRecording::saveScriptKeyframeAscii(Timestamps& times,
|
||||
{
|
||||
std::stringstream keyframeLine = std::stringstream();
|
||||
saveHeaderAscii(times, HeaderScriptAscii, keyframeLine);
|
||||
// Erase all \r (from windows newline), and all \n from line endings and replace with
|
||||
// ';' so that lua will treat them as separate lines. This is done in order to treat
|
||||
// a multi-line script as a single line in the file.
|
||||
size_t startPos = sm._script.find("\r", 0);
|
||||
while (startPos != std::string::npos) {
|
||||
sm._script.erase(startPos, 1);
|
||||
startPos = sm._script.find("\r", startPos);
|
||||
}
|
||||
startPos = sm._script.find("\n", 0);
|
||||
while (startPos != std::string::npos) {
|
||||
sm._script.replace(startPos, 1, ";");
|
||||
startPos = sm._script.find("\n", startPos);
|
||||
}
|
||||
sm.write(keyframeLine);
|
||||
saveKeyframeToFile(keyframeLine.str(), file);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user