• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Moonlite Map Studio open beta release

Status
Not open for further replies.
Level 9
Joined
Dec 26, 2007
Messages
202
Official Moonlite website
Moonlite (or Moonlite Map Studio) is an IDE (Integrated Development Environment) for StarCraft 2 and WarCraft 3. Currently it only supports scripting and file import management, but it will also support object scripting, debugging and maybe even terraining. It also is 100% extensible, as it uses the same extension engine as Microsoft Visual Studio 2010.

It is currently in a rather early stage, meaning that crashes and issues can happen. A bug reporter tool is included, but please, only use it if the issue you have found really is a bug. (Meaning that the most people I have had using it so far has tried to use a feature, done it wrong and told me there's a bug)
Since it is an open beta, please also always keep a backup of the map you're editing. Although Moonlite creates a backup, the backup is used for dynamic syntax checking, so just have a backup to be sure.

I haven't finished the documentation yet, so it's not included. If you're used to using the Visual Studio IDE, you'll find using Moonlite easy. To code with it, you simply create a new project, and then add files to that project. Moonlite uses files that it then compiles into the map. If you want to script an already existing map, you have to create a new project, build it, and replace the map in the Bin directory of the project's directory by the map you want to edit. Preferably you want to replace all your GUI triggers by Moonlite code, but it should be compatible.

Moonlite is tightly integrated with the Andromeda language, meaning that it 100% supports OOP programming. Because of this, Moonlite supports dynamic error checking and intelligent and context sensitive code completion. (The code completion isn't implemented yet though)
Note that I want all the feedback, suggestions and error reports I can get. Although this is beta software it should be in a pretty stable state.

The current Galaxy features are:
  • 100% Andromeda support;
  • Dynamic error checking;
  • Xml object creating through Xml files;
  • Code completion (yet to come)
The current Jass features are:
  • 100% vJass support;
  • Dynamic error checking;
  • Code completion (Finished)
There are probably more independent language features, but I most likely forgot.

Global features:
  • Project manager;
  • Function list;
  • Live code preview;
  • Rich user interface;
  • Object Browser;
  • and more

The Andromeda code completion will feature enrichment support, inheritance support, class support, etc. For example, say we have a static class named "Test" with fields "op" and "offset". In our code, we can write "Test.", and when the dot is typed, a list of the members in the Test class pops up. Very small example, but it should do justice to get you thinking.

Requires the .NET Framework 4.0!
Download link: http://www.vestras.net/moonlite/download/
The source code is currently not available. It will be available as soon as the application gets out of beta stage.
If you are experiencing any installation problems, but tell me in this thread ASAP.
For developers, the installer is custom created using WPF and a zip extracter. All files are packaged into zip packages/embedded resources.

DISCLAIMER: I take no responsibility for any damage this software does to you or your computer, your maps or any project that you have created. Any issues with your computer, your maps or any project that you have created caused by Moonlite is your own problem.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,190
I love how people are releasing semi pointless tools for a game before the game is even released. For all we know there could still be large changes to file formats uppon release of the game.

Anyway, people can not really use the editor until some terraining support is added. Yes, good scripting is nice but without terrain you can not make a map.

Rich user interface;
Someone has been doing marketing too much. Difine Rich, and prove your interface is that.
 
Level 4
Joined
Jul 26, 2006
Messages
49
I fully support this IDE as it has code completion. That makes it better than anything blizzard will ever create for scripters...

I love how people are releasing semi pointless tools for a game before the game is even released. For all we know there could still be large changes to file formats uppon release of the game.

Anyway, people can not really use the editor until some terraining support is added. Yes, good scripting is nice but without terrain you can not make a map.


Someone has been doing marketing too much. Difine Rich, and prove your interface is that.

I love people talking bad about all efforts that are already done to make scripting easier.
Forget that there might be big changes to ANY format concerning the editor. Blizzard is plain to lazy for doing such things.

Also the missing terraining possibility is no big disadvantage. For large maps, you terrain for 1-2 days and then script / edit objects for 2 months. Scripting is the biggest part for many maps. Every tool that makes this part easier is far away from being "semi pointless". The "thing" that blizzard shipped as "trigger editor" can be called like that.

Can't you just stop with structuring your posts like

a) flame that this is useless before release
b) wanting the author prove something

you exactly did the same thing with my threads while most other users already understood the potential gain hiding in them...
 
Level 11
Joined
Aug 1, 2009
Messages
963
I love how people are releasing semi pointless tools for a game before the game is even released. For all we know there could still be large changes to file formats uppon release of the game.
Not semi pointless. If I hadn't had the function list/code completer from JNGP, I likely would have never learned JASS, ever. Also, while terraining is one aspect of the map, scripting is just as important, and I already have seen some pretty damn good terrains that people have made, so meh.

edit: also, for some reason I can't even start it. the thing just freezes.
nevermind, I just need to run it as administrator.

First impressions: Love the UI. Overall, it seems extremely useful, though somewhat buggy right now.

Also, the test map feature seems to cause it to crash. D:
 
Last edited:
Level 9
Joined
Dec 26, 2007
Messages
202
New version released. Should fix a lot of bugs, and should finally be somewhat usable.
Changelog:
  • Implemented code completion (only the OOP part of it is enabled right now, so basically it's just a "member viewer". Very early WIP, the full version will be featured in the next version)
  • Fixed an issue in the project manager causing it to crash on renaming files;
  • Fixed an issue in the project manager causing it to rename multiple files;
  • Fixed an issue in the project manager causing it to name files wrongly;
  • Increased the performance of the function list drastically - searching for "c_" the speed went from 1 minute to 1 second;
  • Made the text editor auto parse on paste - should fix a lot of bugs;
  • Made the application and the installer require administrator permissions in order to prevent crashes;
  • Fixed an "Attempted to divide by zero" crash.
 
Level 6
Joined
Sep 28, 2009
Messages
222
very nice tool, looks very good so far, reminds me very much of visual studio :)

did i get it right that there will be some sort of intelli sense, too? that would be great.
and will there also be some sort of compiler that checks if the code is valid?
 
Level 9
Joined
Dec 26, 2007
Messages
202
very nice tool, looks very good so far, reminds me very much of visual studio :)

did i get it right that there will be some sort of intelli sense, too? that would be great.
and will there also be some sort of compiler that checks if the code is valid?

Yeah, there will be code completion 100% like Visual Studio's. Actually it already works for static classes. (and more, but the rest is disabled for now)
Yeah, there is, it has dynamic error checking, and it enables OOP.

Looks very impressive.

So a basic brief overview of how it works, do you code with the tool, then import it directly into your map when done?

You code with the tool, and hit test map :)
 
Level 11
Joined
Aug 1, 2009
Messages
963
Alright, so, I decided to go ahead and start a project, and using this tool so that I could avoid using any GUI at all.

However, I've encountered a major problem. In JASS, one could create new triggers by having an init function that sets up the events/actions of the trigger. In Galaxy, this is what the init function appears to be (converted from GUI):
JASS:
void gt_MrTrigger_Init () {
    gt_MrTrigger = TriggerCreate("gt_MrTrigger_Func");
    TriggerAddEventMapInit(gt_MrTrigger);
}
This init function is called by an InitTriggers function, which is in turn called by an InitMap function. I attempted to create my own init function for my own triggers, however, I was unsuccessful. I also tried creating my own InitMap function, but that also appeared to do nothing.

Has anyone managed to create (and run) triggers through Galaxy coding?

EDIT: Actually, a friend helped me with this. Hadn't realized that Moonlite has Andromeda already, so I can just use static blocks.
 
Level 9
Joined
Dec 26, 2007
Messages
202
A new version of Moonlite has been released: 1.0.0.1. Changelog:
  • Features:
  • Implemented a new Team Foundation - Subversion in Moonlite.
  • Implemented two new navigation features. Navigate To (Ctrl+, in the text editor to open, searches for anything - classes, structs, files, etc.) and the quick links - the two dropdowns at the top of the text editor.
  • Changed the Ribbon UI to a toolbar-based layout.
  • Implemented Ximl. (Not fully)
  • Implemented full keyboard support for all commands.
  • Bug Fixes:
  • Ctrl+V now pastes properly.
  • Fixed flickering in the Project Manager.
  • Fixed random renaming in the Project Manager.
  • A lot of minor bug fixes...

Known issues:
  • Ximl currently does not support images.
  • Ximl cannot place BarItems correctly. (Therefore the Team menu is the first on the main menu)
  • For some errors, Andromeda does not create line and offset values. This means that although there might be errors in your code, Moonlite will not add them to the Error List, and then the parser will not parse, resulting in stuff such as Navigate To not working.
  • There might be some Subversion unhandled exceptions. Please report them here.

As a little side note, I am going on vacation for three weeks from tomorrow, so I won't be doing updates in that time. When I get back I will most likely finish the OOP code completion once and for all, and hopefully fix a lot of issues that you guys have reported!

Enjoy.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,190
SC2 does not really need a new programming languae... SC2 needs a half decent custom script editor though (one that can save to the map).

The problem I had last time I used custom script was the highlighter SC2E uses seems to be made using python or an algorthim with order simlar to O(n^2) where n is the number of characters in the code to highlight. Worse it rehighlights already highlighted code when adding code via a paste. 2 medium functions took 15-25 seconds to paste in on an I7 processor. Pasting a decent script of 20 odd functions took over 5 minutes (I gave up after that so it never did finish).
 
Level 9
Joined
Dec 26, 2007
Messages
202
Can you upload it in a pastebin?

No.

SC2 does not really need a new programming languae... SC2 needs a half decent custom script editor though (one that can save to the map).

The problem I had last time I used custom script was the highlighter SC2E uses seems to be made using python or an algorthim with order simlar to O(n^2) where n is the number of characters in the code to highlight. Worse it rehighlights already highlighted code when adding code via a paste. 2 medium functions took 15-25 seconds to paste in on an I7 processor. Pasting a decent script of 20 odd functions took over 5 minutes (I gave up after that so it never did finish).

I don't care what you say. I make what I want to. It's for myself, not for you.
Second, who are you to judge whether the WHOLE community needs something? Talk on your own behalf in the future.
 
Level 19
Joined
Oct 15, 2008
Messages
3,231
Hmm... I wonder when the official version would be released.
Anyways, is this also compatible for both JASS and Galaxy Usage like it was before?
 
Status
Not open for further replies.
Top