ItsDeltin / Overwatch-Script-To-Workshop

Converts scripts to Overwatch workshops.
208 stars 26 forks source link

Exception with methods that take vectors as parameters when no parameters are given #99

Closed TrueCP6 closed 4 years ago

TrueCP6 commented 4 years ago

To reproduce create a rule with ApplyImpulse(); exactly as it is shown. Also happens with DistanceBetween().

ItsDeltin commented 4 years ago

What is the issue?

TrueCP6 commented 4 years ago

This exception is thrown:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Deltin.Deltinteger.Elements.V_Vector.get_X() in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Elements\Values.cs:line 1679
   at Deltin.Deltinteger.Elements.V_Vector.Optimize() in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Elements\Values.cs:line 1664
   at Deltin.Deltinteger.Elements.Element.OptimizeChildren() in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Elements\Elements.cs:line 134
   at Deltin.Deltinteger.Elements.Element.Optimize() in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Elements\Elements.cs:line 126
   at Deltin.Deltinteger.Elements.Rule.ToWorkshop(OutputLanguage language, Boolean optimize) in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Elements\Rule.cs:line 90
   at Deltin.Deltinteger.Parse.DeltinScript.ToWorkshop(Func`2 addRules) in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Parse\Translate.cs:line 258
   at Deltin.Deltinteger.Parse.DeltinScript..ctor(FileGetter fileGetter, Diagnostics diagnostics, ScriptFile rootRuleset, Func`2 addRules) in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Parse\Translate.cs:line 47
   at Deltin.Deltinteger.LanguageServer.DocumentHandler.Update() in C:\Users\minec\Google Drive\Games\Overwatch\OSTW\Overwatch-Script-To-Workshop\Deltinteger\Deltinteger\Language Server\DocumentHandler.cs:line 179
ItsDeltin commented 4 years ago

Ah, I didn't see it since I had Optimize Output disabled. The workaround is to either provide the parameters or disable 'Optimize Output' in the settings.