Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redscript Compilation Error-checking #23

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jackhumbert
Copy link
Contributor

Prints the status of the redscript compilation & exits if the command fails (assume game will not run if our redscript files were not compiled) - we might want to also show an error, but redscript will have already shown one. Also handles the error results for WaitForSingleObject, but I was not able to trigger these conditions to test.

Based on #22

Copy link
Owner

@WopsS WopsS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Again a few remarks.

src/dll/Systems/ScriptCompilationSystem.hpp Outdated Show resolved Hide resolved
src/dll/Hooks/ExecuteProcess.cpp Outdated Show resolved Hide resolved
src/dll/Hooks/ExecuteProcess.cpp Outdated Show resolved Hide resolved
src/dll/Hooks/ExecuteProcess.cpp Outdated Show resolved Hide resolved
src/dll/Hooks/ExecuteProcess.cpp Outdated Show resolved Hide resolved
switch (waitResult) {
case WAIT_TIMEOUT:
spdlog::error("Redscript compilation timed-out - exiting");
SHOW_LAST_ERROR_MESSAGE_AND_EXIT_FILE_LINE("Redscript compilation timed-out");
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we exit?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the debate I wanted to raise :) if we've added scripts, and it's the first try at compiling, I think we should. Otherwise, it could be a hot-reload, which should probably be handled differently/passed to another part of that plugin.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with it, @psiberx what do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I applied the condition I described to the exit later on - we're still exiting for the cases here, though.

Copy link
Contributor

@psiberx psiberx May 10, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should only exit on timeout, but not if compilation fails.
Exiting only on game start is compatible with hot reload indeed. Although redscript shows the message "the game will start without scripts" when compilation fails, which can be a bit confusing.

src/dll/Hooks/ExecuteProcess.cpp Outdated Show resolved Hide resolved
src/dll/Hooks/ExecuteProcess.cpp Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants