| 707 | #include <sstream> |
| 708 | |
| 709 | static std::string readFileContent(const std::string& path) |
| 710 | { |
| 711 | std::ifstream f(path); |
| 712 | if (!f.is_open()) |
| 713 | return ""; |
| 714 | std::stringstream ss; |
| 715 | ss << f.rdbuf(); |
| 716 | return ss.str(); |
| 717 | } |
| 718 | |
| 719 | // In-game exec is non-blocking; the evaluator runs the SQS synchronously. |
| 720 | static GameValue CmdExec(const GameState* state, GameValuePar lhs, GameValuePar rhs) |