Crashes
1. Crash On Using %
Symbols In xsChatData()
¶
Description: Cannot escape %
symbols in the message, since they are considered special characters because of the %d
and %f
usage.
Expected Behaviour: It should be possible to escape the %
character by using a backslash \
.
Reproduction Steps:
- Create a new scenario or RMS
- Create a new XS script with the following code:
1 2 3 4 5 6 7 8 9
void main() { // This crashes the game altogether // prints `this will not appear in game` xsChatData("this % will not appear in game"); // prints `neither will this \ appear in game` xsChatData("neither will this \% appear in game"); }
- Include the script in the scenario or RMS
- When a game is played using the scenario or RMS, the game will crash
2. Using goto
With A Non Existent Label Crashes The Game¶
Description: If a goto statement is used as shown below, it crashes the game. How to define a working label in XS is currently unknown
Expected Behaviour: The game should warn about wrong usage of goto
to a non existent label. How is a label defined in the first place in XS?
Reproduction Steps:
- Create a new scenario or RMS
- Create a new XS script with the following code:
1 2 3
void main() { goto non_existent_label; }
- Include the script in the scenario or RMS
- When a game is played using the scenario or RMS, A crash will occur
3. Crash On Using An Integer Larger Than 999_999_999
In Chat Data¶
Description: Trying to chan an int
that is bigger than 999_999_999
with %d
in xsChatData
causes a crash
Expected Behaviour: The int value should be printed properly as expected
Reproduction Steps:
- Create a new scenario or RMS
- Create a new XS script with the following code:
1 2 3 4 5 6 7
void main() { int a = 999999999+1; xsChatData("t %d", a); // crashes the game // xsChatData("t "+a); // this works normally }
- Include the script in the scenario or RMS
- When a game is played using the scenario or RMS, A crash will occur