• 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    In reply to Talv_:

     Because we all talk here, so I report bugs here, GitHub is ok too, it may be more quick for me to visit.
    For the if bug, I have tested  in SE, if "if (true)" is in another line, it did not pass the syntax checking. But now it pass... Maybe BLZ fix it? !!!∑(゚Д゚ノ)ノ
     
    I will report in GitHub if find another bug,  hope I won't have a chance to do.
     
    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    int lv_J = lv_I = 0;

    This can pass the syntax checking.

    if (true)
    {
    lv_I+= 1;
    }
    else
    if (true)
    {
    lv_I+= 1;
    }
     {} check lose in else block.
    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension
    [Error - 11:54:03] [TypeError] Cannot read property 'pos' of undefined
    TypeError: Cannot read property 'pos' of undefined
    at Object.createDiagnosticForNode (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\utils.js:502:20)
    at TypeChecker.report (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:539:39)
    at TypeChecker.checkReturnStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:885:18)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:783:22)
    at Array.forEach (native)
    at TypeChecker.checkBlock (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:924:25)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:750:22)
    at TypeChecker.checkIfStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:839:14)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:769:22)
    at Array.forEach (native)
    ### onHover | 0.155ms
    [Error - 11:54:03] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: Cannot read property 'pos' of undefined
    Code: -32603
    [Error - 11:54:09] [TypeError] Cannot read property 'pos' of undefined
    TypeError: Cannot read property 'pos' of undefined
    at Object.createDiagnosticForNode (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\utils.js:502:20)
    at TypeChecker.report (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:539:39)
    at TypeChecker.checkReturnStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:885:18)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:783:22)
    at Array.forEach (native)
    at TypeChecker.checkBlock (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:924:25)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:750:22)
    at TypeChecker.checkIfStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:839:14)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:769:22)
    at Array.forEach (native)
    ### onHover | 0.152ms
    [Error - 11:54:09] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: Cannot read property 'pos' of undefined
    Code: -32603
    [Error - 11:54:09] [TypeError] Cannot read property 'pos' of undefined
    TypeError: Cannot read property 'pos' of undefined
    at Object.createDiagnosticForNode (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\utils.js:502:20)
    at TypeChecker.report (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:539:39)
    at TypeChecker.checkReturnStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:885:18)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:783:22)
    at Array.forEach (native)
    at TypeChecker.checkBlock (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:924:25)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:750:22)
    at TypeChecker.checkIfStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:839:14)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:769:22)
    at Array.forEach (native)
    ### onHover | 0.153ms
    [Error - 11:54:09] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: Cannot read property 'pos' of undefined
    Code: -32603
    [Error - 11:54:16] [TypeError] Cannot read property 'pos' of undefined
    TypeError: Cannot read property 'pos' of undefined
    at Object.createDiagnosticForNode (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\utils.js:502:20)
    at TypeChecker.report (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:539:39)
    at TypeChecker.checkReturnStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:885:18)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:783:22)
    at Array.forEach (native)
    at TypeChecker.checkBlock (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:924:25)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:750:22)
    at TypeChecker.checkIfStatement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:839:14)
    at TypeChecker.checkSourceElement (C:\Users\WhimsyDuke\.vscode\extensions\talv.sc2galaxy-1.7.1\node_modules\plaxtony\lib\compiler\checker.js:769:22)
    at Array.forEach (native)
    ### onHover | 0.164ms
    [Error - 11:54:16] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: Cannot read property 'pos' of undefined
    Code: -32603
    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    That's because you were previously accepting "AIEvalSetCustomIndex" as suggestion, when typing "else". For that reason, editor now assumes it is your preference over keyword "else", which previously was not available - look that "else" is now at the top of the list. As far as sorting goes it is fine. You probably just have to choose "else" once, and editor will remember your choice. It's actually recent feature of VSCode

    I have not use vscode before. 

    I'll probably slow down with work on new features in upcoming days/weeks, and switch my focus to other stuff. But keep reporting any issues you encounter - these are useful, as I don't work much with SC2 projects recently.

    Now this is the best one for writing galaxy. Thanks for your work again. 

    However, as a long term plans.. or rather ideas. I'd like to implement frontend debugging UI for Galaxy in VSCode ( https://code.visualstudio.com/Docs/editor/debugging ). Which would utilize default TrigDebug window as a starting point. Primary reason is to make new frontend convenient to use, because default one is not so friendly... perhaps it would be possible to come up with some exclusive features. Although SC2 binaries got really hard to RE during these years (and I never was good at that to begin with :| ). I gotta dig more to see whether something like this would be feasiable at all.

    You mean use vscode to debug Galaxy script? You want to write a VM for galaxy or run SCII and get data and control the game? BLZ start to add features for SE, so it will be a continuous work. If you finish it, it will be great! As we know, BLZ have never supported a good debug tool, no matter WE of War3 and SE of SC2.

    The other thing I'm considering is yet another Galaxy Language Extension - acting as transpiler. My focus on this would be on features meant to improve usability, while avoiding implementing dynamic capabilities like Galaxy++ did. As there's no easy way to emulate that - it quickly gets messy.
    But seeing how low interest there's about Galaxy related things within community, it might be simply too late for such project. If I'm however wrong about that, I'm open for collaboration.

    I am a original-edition-ism user. It is a bad habit of caring efficiency from the period of War3. I do not like vJass, cJass and other extensions of Jass2, the script language of War3. But for SC2, galaxy is enough efficient. So I have never used the extension of Galaxy++.

     

    It is just a habit. And I think you can add a support of write a class, which can add methods to a struct (just like a class in c++),as a further feature support the scope of methods and field of struct. 

     

    As you say, it may be so late to do this. I think I will not a user of it, but I think it is worthwhile. For War3 in China there are still so much mapmakers woke for WE tools, before the Class Team of BLZ continue its work of War3 in years. The fist thing is if you want and have enough time to do, is not  if it so late. Is that right? 

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    Keyword "else" is add, but not the auto-select one when I input "else".

    And do not check if return is exist.

     

     

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    And you may not add the new function of 4.0, such as BankBackup, this function is not in natives.galaxy and  NativeLib.galaxy, but it is list in the Trigger Library.

     

    Another is could you add the keywords into the Code completions? When I input else it always change to 

    AIEvalSetCustomIndex. Because after input else, i need input Enter to start a new line.

     

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    Macro is a special galaxy syntax for galaxy which only use at custom script in function/action definition.

    Such as CombineStrings. Its code like this

    (#PARAM(str1) + #PARAM(str2))

     

    For "for" in GUI Action is

    #INITAUTOVAR(ae,e)
    #INITAUTOVAR(ai,increment)
    #PARAM(var) = #PARAM(s);
    for ( ; ( (#AUTOVAR(ai) >= 0 && #PARAM(var) <= #AUTOVAR(ae)) || (#AUTOVAR(ai) < 0 && #PARAM(var) >= #AUTOVAR(ae)) ) ; #PARAM(var) += #AUTOVAR(ai) ) {
    #SUBFUNCS(actions)
    }

     

    It is can not use in Galaxy file, it only use in definition.

    They are like a macro and when SE generation galaxy file, they will be replaced with generated galaxy code.

     

    I have find the invalid character is not a bug of yours. Maybe it is a bug of calculator itself.

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    Another bug:

    Do not check local variable declare location. Not show as a error when a local variable declare after other codes.

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    Another bug is if i declare variables with the same variable name twice, such as 

     

    bank [libCORE_GVC_DSES_MaxBankFileCount] lv_Bank;
    bank [libCORE_GVC_DSES_MaxBankFileCount] lv_Bank;
    It do not show me as a error
    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    Another bug about copy integer from Calculator.

    Calculator version is 10.1712.3351.0, in windows 10 1709 with the newest update.

    I copy the integer value from Calculator , and paste to the vscode.

    It is show me as a error.

     

    This may be a bug of vscode, I install the newest one

    in ASCII encode, the copied integer value with two chars (0x3f) as a prefix and suffix.

     

     

    PS: If you want to add other feature, support the Macro syntax of Trigger Function may a good one.

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension
    const int libWH_GVC_CBS_CallBackFunctionListSize = 8192;
    void LibWH_FUNC_CBS_CommonCallBackFunction()
    {
    TriggerDebugOutput(1, StringToText(""), false);
    }

    //----------------------------------------------------------------------
    // Variable Type Declaration
    //----------------------------------------------------------------------
    funcref<LibWH_FUNC_CBS_CommonCallBackFunction>[libWH_GVC_CBS_CallBackFunctionListSize] libWH_VT_GV_CallBackFunctionList;
    funcref<LibWH_FUNC_CBS_CommonCallBackFunction>[libWH_GVC_CBS_CallBackFunctionListSize] libWH_VT_GV_CallBackFunctionListStatic;

    void LibWH_FUNC_CBS_FlushFuncRefList()
    {
    int lv_I =0;
    LibWH_FUNC_IS_FlushIndexRecord(libWH_GVC_CBS_CallBackIndexName);
    for (; lv_I < libWH_GVC_CBS_CallBackFunctionListSize; lv_I +=1)
    {
    libWH_VT_GV_CallBackFunctionList[lv_I] = LibWH_FUNC_CBS_CommonCallBackFunction;
    libWH_VT_GV_CallBackFunctionListStatic[lv_I] = LibWH_FUNC_CBS_CommonCallBackFunction;
    }
    }

     

    It do not support the funcref array? like the code before.

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    Thanks for your work.

     

    I am touring in Bali with my company, bu maybe I can not enjoy my travel. because we get some information about the bug of BLZ Enforecement.

    The bug is from SC2 4.0, error is function too long,  the script  of the mod is 120,000+ lines. So it is a hard work and I need spend times on it. 

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    This error in particular will be fixed in upcoming version. It occured when hovering over comments/whitespaces at the end of file or within include statements.

    .....

    Sure. Already started work on this, hoping to have it done by the end of the week.

    Good job!

    I know about the problem related to handling of multibyte characters in Galaxy lexer within SC2, but what you suggest as a solution for this?
    Add option to transpile the script and escape these characters using '\x' notation?
    But since I'm not making a language extension like `Galaxy++` (at least not yet), not sure how should this be handled at the current moment..
    No, just show the multibyte character as a warning or error. This issue always happen in the comment, so your parser can not find it, if the user want to use multibyte character, he can translate it as unicode type ('\x') himself. I have write a tool to do that.......
    Hmm.. so you're not saving galaxy files within map/mod directory? Just copy pasting parts of code one by one to GUI `script code` section seems rather uncomfortable to work with. Especially when you need to go back and update something.
    Is there a particular reason you do it this way?
    My work in Forggy & Catty is write base system in galaxy, and another partner works for game with GUI (Delphinium works for art). I need encapsulate galaxy function to GUI function for him.
    I've seen it in Delphinium videos. Cool stuff. Not sure if you guys are still planning to release it publicly, but if so I will certainly check it out.
    Thanks, we want to release it, but it have more relations with the underlying systems of BLZ Enforcement. So it need much work, while we do not have enough time to do. We have our formal job in 8 hours.
    I was mostly interested about a way to alter terrain textures. But not just swap large part of texture surface using one of prepared presets (which is what you seem to be doing?).
    I was hoping for possibility to actually paint.. or rather have handful different shapes of splat models, so that terrain could be customized in detailed way.
    Delphinium find a way to make a splat models can use a special terrain texture as its materials. It will use another channel of splat (as Delphinium say there are 16 channels, and the terrain use 8, others are use for splat). Now there are also some issues about splat (relate with  generated order of splats).
     
    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    If you have finish the work about  typedef and family, please release a new version. I write a new mod of terrain editor (rewrite the terrain mod of BLZ Enforcement). And I need these features. 

    Thanks a lot.

    Posted in: Galaxy Scripting
  • 0

    posted a message on Galaxy IDE as Visual Studio Code extension

    I have a try of Visual Studio Code, as I always use Notepad++ for text file.

     

    Visual Studio Code looks like more comfortable than Sublime Text, if your extension is finish I will use it as  a alternative of Galaxy Editor++. And now, the extension generate many errors in output panel, such as:

    [Error - 09:15:25] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: how did we get here?
    Code: -32603
    [Error - 09:15:28] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: how did we get here?
    Code: -32603
    [Error - 09:15:31] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: how did we get here?
    Code: -32603
    [Error - 09:15:39] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: how did we get here?
    Code: -32603
    [Error - 09:15:39] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: how did we get here?
    Code: -32603
    [Error - 09:19:00] Request textDocument/hover failed.
    Message: Request textDocument/hover failed with message: how did we get here?
    Code: -32603
    And there is another suggestion, could you take a feature to checking Unicode character in the script, special for the Comments, as we know custom script in SE do not accept non-ASCII characters, and if I use Chinese character "," instead of English character "," I can not copy script text to the SE window. and it is hard for me to find it with eyes.
    I think read files from CASC, or MPQ is a wrong way too, it will lock the file so SE can not run or can not load Mod/Map. After SBeier gave up GE++, another people modify GE++ to support newest native.galaxy by this way. And it cause issues like what I say. So I have two SC2 clients at that time, one is CN, the other is EU/KR/US...
    Another way to support script/Data form official mod is extract all files (without asserts file). and it is hard to follow the newest version of SC2.
    For me, I write galaxy as a Lib, and put them in SE as a Custom script, then encapsulate it to trigger function or trigger action. The Lib is isolated, so I do not need check dependencies except native.galaxy.
     
     
    Posted in: Galaxy Scripting
  • To post a comment, please or register a new account.