Fatal Error: Unable to locate line at offset 481
Opened this issue · 2 comments
The latest build of Caprica fails early with this error:
Fatal Error: Unable to locate line at offset 481
The issue seems related to FO4_Papyrus_Flags.flg
from 0.2.
The issue does not occur with Institute_Papyrus_Flags.flg
but it also does not compile with the base game flags file.
I fixed-ish that issue by adding this to the CapricaUserFlagsParser:
case TokenType::Identifier:
if (cur.sValue == "PropertyGroup") {
flag.validLocations |= CapricaUserFlagsDefinition::ValidLocations::PropertyGroup;
}
else if (cur.sValue == "StructMember") {
flag.validLocations |= CapricaUserFlagsDefinition::ValidLocations::StructMember;
}
else {
std::cout << "cur.type = " << cur.prettyString().c_str() << std::endl;
consume();
reportingContext.error(cur.location, "Unexpected token '%s'!", cur.prettyString().c_str());
break;
}
consume();
break;
But, honestly, the latest build just seems broken. I added a bunch of logging, and it seems the furthest Caprica gets is queuing the FileWriteJob.
E:\repos\Caprica\Caprica\bin\Debug>caprica
Parse: 10ms
Read: 0ms
Queuing FileWriteJob
Compiled N/A files in 0ms
I'm gonna be honest, I have no idea what state the code in master is in, I can say for certain though that the only compile style it supports is compiling the entire scripts directory at once due to a change in how I was doing the scheduling that I never got around to implementing correctly for single-file compilation. (note that it still compiles everything before the DLC was released in < .5 seconds, so that wasn't really a major issue)
The code for Caprica hasn't been touched in > 2.5 years at this point, and I'd strongly recommend using the official Papyrus compiler included in the Creation Kit rather than Caprica. Caprica was only ever designed to be a workaround when the Creation Kit hadn't yet released.
I would accept PRs if you want to get it back up and running, but I have no plans to do so myself.