Jump to content

UnrealScript Ext for ModBuddy


TeamDragonpunk

Recommended Posts

OVNI, first off, THANK YOU! This is an incredible work around, and I admittedly didn't know enough about what goes on "behind the scenes" to suggest this! Before you get too far though, you may want to try Alex's new work-around using DOM sharing. There are pros and cons to both, but I don't want to waste your time if his solutions works for you. He'll be releasing it in the next few days

Sound interesting.

DOM sharing between IDE instance is better than my walkaround IMAO, since we just need to create a project (once for all) referencing all SDK's .uc file, and open it aside our actual project.

Same thing could be done for majors mods, for example a LongWar-like mod project opened in yet another IDE instance, while developing an LongWar-like addon.

NB: meanwhile I edited my previous message with a new version (bug-fix) of my alternative XCOM2.targets file.

 

Edited by OVNI
Link to comment
Share on other sites

  • Replies 100
  • Created
  • Last Reply

Top Posters In This Topic

ALL: Alex updated the extension with the DOM Sharing work-around. I will test it today, but additional testers would be much appreciated. So download the update from the link in the original post (OP). Make sure to back up everything you have in case it doesn't work. I'll verify with Alex, but I believe these are the steps you have to take for to get full functionality for Mods that you've deleted the game files for.

 

1. Download the full update from the link in the OP

2. Remove your existing UnrealScriptPackage1_0 folder completely from ".../XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions (for those who are running our old version. Renaming the old version alone won't work. If you aren't running our old version, then you won't see this folder)

3. Open ModBuddy

4. Open a Default Mod (alternatively you can just open any one of your mods that you haven't removed the game files for)

5. Wait for the game files to parse before closing the default mod (shouldn't be required to have it open, but I'll double check)

6. Open your Mod that doesn't have game files saved

Link to comment
Share on other sites

Tested the new version, but i saw no changes.


I tried to create a default mod (XComGame's types completion worked for this project, no surprise) then opened an existing project (containing no SDK files) in the same ModBuddy instance, but no code-completion, nor "go to definition" (F12) for the same types.


(I also tried to open both projects in 2 IDE instances, same thing).




EDIT :


I take that back, apparently it was because i just renamed the old version without removing it from ".../XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions" folder.


I removed it, then tested to open my project containing ALL sdk .uc files, then open an empty project. Completion and go to definition works from all types from any sdk package (even those I never referenced before).


Conclusion : it works perfectly, thanks.


Edited by OVNI
Link to comment
Share on other sites

 

Tested the new version, but i saw no changes.

I tried to create a default mod (XComGame's types completion worked for this project, no surprise) then opened an existing project (containing no SDK files) in the same ModBuddy instance, but no code-completion, nor "go to definition" (F12) for the same types.

(I also tried to open both projects in 2 IDE instances, same thing).

EDIT :

I take that back, apparently it was because i just renamed the old version without removing it from ".../XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions" folder.

I removed it, then tested to open my project containing ALL sdk .uc files, then open an empty project. Completion and go to definition works from all types from any sdk package (even those I never referenced before).

Conclusion : it works perfectly, thanks.

 

 

That's outstanding to hear! I also usually just rename the old version, so thank you for catching this! I'll update the instructions and the original post. You're obviously very knowledgeable about the inner workings of this, so please let us know if there are any additional features that you would like to see in the future. I can't promise everything, but if there is enough demand for something, I'm sure we can ask Alex very nicely for his continued support.

Link to comment
Share on other sites

That's outstanding to hear! I also usually just rename the old version, so thank you for catching this! I'll update the instructions and the original post. You're obviously very knowledgeable about the inner workings of this, so please let us know if there are any additional features that you would like to see in the future. I can't promise everything, but if there is enough demand for something, I'm sure we can ask Alex very nicely for his continued support.

It would be awesome if Alex could add a tooltip to show doc-comments when pointing a type/method/class/etc. with the mouse ; while intellisense menu is visible ; and/or while typing method arguments.

Sometimes when i put the mouse on an entity i see a tooltip doing just that (like "this function does stuff" ; or a less helpful "* Copyright EpicGames */"), so it looks half-implemented already.

Unfortunately this doesn't show every time, and it never reappears if the source file containing the comment is opened.

It doesn't need to be fancy (like pacing xml / javadoc tags) ; just showing inline/block comments written above the entity as is (even if it's just copyright header) would be very convenient already.

NB : while i'm here, here's a project file referencing all SDK .uc files i use to "kickstart" Alex's extension : http://pastebin.com/arwtGDW6

Save it as "...\XCOM 2 SDK\Development\SdkProject.x2proj" (so it will use SDK files directly and stay in sync).

Or save it with a copy of ...\XCOM 2 SDK\Development\SrcOrig folder (safer since you won't modify SDK's files by accident, but you'll have to keep the SrcOrig's copy up to date each time Steam/Firaxis update the SDK).

Save the solution file when asked so it could show in ModBuddy's start page (you might also want to pin it).

Link to comment
Share on other sites

It would be awesome if Alex could add a tooltip to show doc-comments when pointing a type/method/class/etc. with the mouse ; while intellisense menu is visible ; and/or while typing method arguments.

Sometimes when i put the mouse on an entity i see a tooltip doing just that (like "this function does stuff" ; or a less helpful "* Copyright EpicGames */"), so it looks half-implemented already.

Unfortunately this doesn't show every time, and it never reappears if the source file containing the comment is opened.

It doesn't need to be fancy (like pacing xml / javadoc tags) ; just showing inline/block comments written above the entity as is (even if it's just copyright header) would be very convenient already.

 

OVNI: I'll test to see why it works only occasionally. I have noticed however, that many classes DON'T have comments at all (tsk tsk). Classes written by Ryan McFall and Mark Naruta are great, but most of the others...

Link to comment
Share on other sites

Only a minor issue so far, with nested multi-line comments.


Parser assumes they works like C, but they don't ; they work like brackets.


For example :



/*
/* */
This is still a comment ! (unlike in C)
*/

Firaxis' code relies on this behavior in multiple files, which aren't correctly parsed by Alex's extension.


But we can still remove nested comments from the code to get proper color-syntaxing and get rid of false-positive syntax-errors...


So once again it's a pretty minor bug.




Edit : even this forum's code block can't handle those comments ! :)


Edited by OVNI
Link to comment
Share on other sites

Another issue : in comments, words are not correctly "separated".


for example :


/// creates a new Blablabla instance.

If I double-click on a "Blablabla" it will select the whole line instead of just "Blablabla"


And same thing with ctrl + left/right hotkey : it goes to beginning/end of line instead of word's.


Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...