Moonlite Map Studio open beta release

Vestras

Retired
Okay guys, so after I have released this version I will be adding extra features to make Moonlite more awesome and make you be able to code faster. I want you to take a look at the features and maybe suggest some stuff.

  • Auto recovery – saves projects into a backup directory every (x) minutes and if Moonlite crashes, the user will have an option to recover the “unsaved” project.
  • Code insight – a dialog on top of the editor window that has “insight” into the current file. Holds stats such as number of lines, number of methods, number of properties, etc. When the user hovers over for example the text saying “Properties: (x)”, a textbox should popup giving the type, name and signatures of the given objects.
  • Change Ribbon interface to Toolbar interface in order to save space and have a more IDE like and intuitive layout.
  • Add Build messages to the statusbar in order to indicate that the program is building the project rather than it has frozen.
  • Add an “Object Browser” for having a tree view of for example the stdlib’s classes/enrichments/structs. A class/enrichment/struct’s members can also be viewed.
  • Floating run button – having a Test Map button right next to the text editor instead of the top of the screen in order to make the distance the user has to move the cursor smaller.
  • Template toolbox – a dock window that contains a list of code templates. A code template is represented as an item that can be dragged into your code. When the item is dropped, the code of the item will be inserted at the place the item was dropped. Templates could be added via files (like the File Templates in the current Templates directory in the installation directory), so that the user can add custom made templates. The templates would use a special template markup language, e.g: “if (<cursor index=”0” />) {
    <cursor index=”1” />
    }”
    This would make the user’s cursor be first set to the “if” statement’s condition statement, and when he pressed a given “tabbing” key (maybe Ctrl + Shift + Right arrow key), the cursor would go to the next cursor statement.
  • Full keyboard support – all commands should have keyboard shortcuts. (http://www.devexpress.com/go/DevExpress_Newsletter29_CTOVideoMsg.aspx)
 

Moogle

New Member
Can I get a screenshot of this change of ribbon interface? if it makes it look less awesome then it does now, I will be sad.

Also, the randomly disappearing text bug is still happening! I copy pasted the unit enrichment for Andromeda into Moonlite, and the comments are all invisible, as is anything inside a function. It's like a folding bug, I would guess. You can get the code at: http://www.sc2mod.com/wiki/index.php?page=Article&articleID=49&languageID=1

Quite sad overall. I can view the .gx file fine though, so I suppose I will survive. It just seems copy paste has a couple of bugs. Also, when I tried deleting the invisible text, my cursor would not go towards the text. As if it wasnt there in truth, not just having a display problem. When I pushed delete, it claimed I tried to divide by zero and deleted the entire line with the text and is really weird in general. I'll get a screenie.
 

Attachments

Vestras

Retired
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.

Moogle:
It'd be toolbars instead of the huge ribbon. I need the space for something else :)
I think the auto parse fix should fix your problem. Please try again in the new version.
 

Moogle

New Member
I tried downloading it off your site again (I assume thats how we get the new version - the site still says the version is 1.0) and now it won't start. It just says it has stopped working :(.

Was I not supposed to change the directory when I installed it? Cause I noticed you added an awesome option to change it.

Also, the unsintaller doesn't seem to know the directory I installed it to. It's defaulting to C:\Program Files. Nothing huge, you just might want to add that kind of functionality.
 

Vestras

Retired
I tried downloading it off your site again (I assume thats how we get the new version - the site still says the version is 1.0) and now it won't start. It just says it has stopped working :(.

Was I not supposed to change the directory when I installed it? Cause I noticed you added an awesome option to change it.

Also, the unsintaller doesn't seem to know the directory I installed it to. It's defaulting to C:\Program Files. Nothing huge, you just might want to add that kind of functionality.
Yeah, preferably right now you should uninstall then reinstall as it doesn't know where it was installed to. Will add it in another version.
The crash is because I forgot to include a dll in the installer. Please redownload and reinstall now.
 

Moogle

New Member
I am overjoyed to report that my invisible text bug is fixed. Thank you so much! :D

Any chance of tabs auto defaulting to the number of spaces you seem to add whenever you push enter and it automatically gives you a place inside the block? Tabs from imported files currently seem huge.
 

Vestras

Retired
I am overjoyed to report that my invisible text bug is fixed. Thank you so much! :D

Any chance of tabs auto defaulting to the number of spaces you seem to add whenever you push enter and it automatically gives you a place inside the block? Tabs from imported files currently seem huge.
Nope, those are windows tabs. I don't know how to change the size :/
 

rover2341

Is riding a roller coaster...Wee!
Note:

The Installer Says its still 1.0, So I have a hard time telling the difference., I Used my old installer to uninstall the old one, and the new one to install the new one.

Q And A From Me, Some With Out A.

Solved
1. If i save my project I can find the folder it saved to, but It can never open it. Like it only made empty folders or something.

Answer: It by default only looks for Jass Files, I just change that, Easy enough but I was stuck on it for 5 min.




Un-Solved
2. It Says When I Hit Run, Button.xml , mover, modeldata, actordata abildata ect Says are Unable To Import. I am runing Program as Admin On Windows 7
(I Created a Empty Galaxy Project, Meaning I added nothing, just the default files were in it)

3. When I Run This

Code:
static
{ 
    //Say Hello
    HelloWorld();
}

void HelloWorld()
{
	TriggerDebugOutput(1, StringToText("Hello World! (From MoonLight 1.0)"), true);
}
It Runs Great, But If I Change It Too...

Code:
static
{ 
    //Say Hello
    HelloWorld();
}

void HelloWorld()
{
	TriggerDebugOutput(1, StringToText("Hello World! (From MoonLight 2.0)"), true);
}
It Still says 1.0, in the text, even if i save the map and compile it again, and hit the green arrow. Any Idea?
 

Vestras

Retired
Vestras: The andromeda.galaxy is in the map according to the import manager in GE :)
Hmm... that's weird then.
What was the problem again? :D

Note:

The Installer Says its still 1.0, So I have a hard time telling the difference., I Used my old installer to uninstall the old one, and the new one to install the new one.

Q And A From Me, Some With Out A.

Solved
1. If i save my project I can find the folder it saved to, but It can never open it. Like it only made empty folders or something.

Answer: It by default only looks for Jass Files, I just change that, Easy enough but I was stuck on it for 5 min.




Un-Solved
2. It Says When I Hit Run, Button.xml , mover, modeldata, actordata abildata ect Says are Unable To Import. I am runing Program as Admin On Windows 7
(I Created a Empty Galaxy Project, Meaning I added nothing, just the default files were in it)

3. When I Run This

Code:
static
{ 
    //Say Hello
    HelloWorld();
}

void HelloWorld()
{
	TriggerDebugOutput(1, StringToText("Hello World! (From MoonLight 1.0)"), true);
}
It Runs Great, But If I Change It Too...

Code:
static
{ 
    //Say Hello
    HelloWorld();
}

void HelloWorld()
{
	TriggerDebugOutput(1, StringToText("Hello World! (From MoonLight 2.0)"), true);
}
It Still says 1.0, in the text, even if i save the map and compile it again, and hit the green arrow. Any Idea?
Yeah, I forgot to change the version. Doesn't matter much anyways.
Do you use x64?
I don't know why it doesn't display the new code. That would Andromeda's problem.
 

jwallstone

New Member
Great job. This is awesome.

I do have one suggestion though: Please add Zinc functionality to the Jass portion! Hopefully that's not too difficult, though I can understand if it's low on your priority list.

Edit: Also, some keyboard shortcuts don't seem to work. Right now, Ctrl-S doesn't even save (in fact, it "dirties" a file so that it's marked as being edited since the last save). Also I'd recommend Ctrl+W for closing a tab.
 

Vestras

Retired
Great job. This is awesome.

I do have one suggestion though: Please add Zinc functionality to the Jass portion! Hopefully that's not too difficult, though I can understand if it's low on your priority list.

Edit: Also, some keyboard shortcuts don't seem to work. Right now, Ctrl-S doesn't even save (in fact, it "dirties" a file so that it's marked as being edited since the last save). Also I'd recommend Ctrl+W for closing a tab.
I won't add Zinc. It's too big a job, and this is mainly focused on SC2.
Ctrl + S should work in this new version. I'll add Ctrl + W for closing tabs.
 

rover2341

Is riding a roller coaster...Wee!
Still, Unsure about Answer for Question 2, and 3. From Post Above.

Ya, I got a 64 bit windows. I used your new installer, and old installer to remove my old installation.
So how do I fix that?


I don't know why it doesn't display the new code. That would Andromeda's problem.
So.... You sure its just not saving or something? So should I bring this up to Andromeda's maker or how should i move forward on this.
Becuase I Change

Code:
static
{ 
    //Say Hello
    HelloWorld();
}

void HelloWorld()
{
	TriggerDebugOutput(1, StringToText("Hello World! (From MoonLight 1.0)"), true);
}
To

Code:
Dont Do Anything, As This shouldn't compile
They Both Say Moonlight 1.0
Because if i use note pad, and change my code and run it in Andromeda directly it works. But when i change something in moonlight and save it, its like it didn't change when it gets complied.
 

Moogle

New Member
Andromeda does not save files into the MPQ if it has errors. Thus, anything you wrote before will still be there if you make an error.

As for when you change 1.0 to 2.0, the MpqLib seems to be buggy for x64, which you seem to be on. That may be a problem that will be there for a while.

Vestras, have you considered trying to use StormLib? When I used it, it was C++, which as far as I know is a .Net language. I don't know the difficulty of converting something from normal C++ to .Net (never really used .Net besides a bit of VB) but it shouldn't require too much work, from what I can guess.
 

rover2341

Is riding a roller coaster...Wee!
What would be cool, (I am pretty sure wont work) Would be to have anything you can do in warcraft and in starcraft, be able to compile into both games. So Basically you code it for one game, But all the stuff that could be used in other would be converted to the other. It would be cool to be able to build a system that I can use in both, and code it only once.

It seems like someone would have to understand jass + galaxy language really well.
 

Moogle

New Member
Too bad it's impossible. SC2 has natives WC3 doesn't that WC3 doesn't. Simply impossible to convert, and not worth the work besides.

Also, I'm confused. How do I make my map use a script? I thought that Moonlite auto told Andromeda to include everything, but it doesn't appear to. None of my code shows up in game. :/ Although, it also yells at me that it cant import things when I compile the map script, so that may be part of it. I will try replacing a map with one already made with a list file and see if that does anything.

Also, auto generated maps dont have an included listfile.

In addition, Moonlite is seriously messing up files. Permanently, too. There seems to be a copy paste error: lines repeat themselves on the same line, like its pasting twice.

I get stuff like this:

Code:
	/**
	*	Changes the color of the unit.
	*	@param p2 The player's color you wish to change it to.
	*/	*/
	public void	public setTeamColorIndex(int p2) void setTeamColorIndex(int p2)
	{
		UnitSetTeamColorIndex(this, p2);		UnitSetTeamColorIndex(this, p2);
		}}

	/**
	*	Changes the unit's color back to what it was originally.
	*/
	public void resetTeamColorIndex()
	{
		UnitResetTeamColorIndex(this);
	}
And worse, Moonlite *saves* it. D:

A fix would be very much appreciated.
 

Vestras

Retired
Still, Unsure about Answer for Question 2, and 3. From Post Above.

Ya, I got a 64 bit windows. I used your new installer, and old installer to remove my old installation.
So how do I fix that?




So.... You sure its just not saving or something? So should I bring this up to Andromeda's maker or how should i move forward on this.
Becuase I Change

Code:
static
{ 
    //Say Hello
    HelloWorld();
}

void HelloWorld()
{
	TriggerDebugOutput(1, StringToText("Hello World! (From MoonLight 1.0)"), true);
}
To

Code:
Dont Do Anything, As This shouldn't compile
They Both Say Moonlight 1.0
Because if i use note pad, and change my code and run it in Andromeda directly it works. But when i change something in moonlight and save it, its like it didn't change when it gets complied.
I thought I had it fixed. Imma try to fix it again.
As Moogle said: "Andromeda does not save files into the MPQ if it has errors. Thus, anything you wrote before will still be there if you make an error."
Same with the code completion. If your code doesn't compile, it won't put up code completion. And your code would ofc not run when it has errors ;)

Andromeda does not save files into the MPQ if it has errors. Thus, anything you wrote before will still be there if you make an error.

As for when you change 1.0 to 2.0, the MpqLib seems to be buggy for x64, which you seem to be on. That may be a problem that will be there for a while.

Vestras, have you considered trying to use StormLib? When I used it, it was C++, which as far as I know is a .Net language. I don't know the difficulty of converting something from normal C++ to .Net (never really used .Net besides a bit of VB) but it shouldn't require too much work, from what I can guess.
Yeah, I have. The library I currently use is a wrapper for StormLib. So, yeah :/ I'm thinking of maybe using gex' mpq library, but it's in Java, so I would have to do some hackjobs or maybe even convert it to C# (doable)
If you don't want these errors, make sure you only have compilable files in your project (.jx, .gx, .a), and make sure all of their build actions are set to Compile and NOT Import.

Too bad it's impossible. SC2 has natives WC3 doesn't that WC3 doesn't. Simply impossible to convert, and not worth the work besides.

Also, I'm confused. How do I make my map use a script? I thought that Moonlite auto told Andromeda to include everything, but it doesn't appear to. None of my code shows up in game. :/ Although, it also yells at me that it cant import things when I compile the map script, so that may be part of it. I will try replacing a map with one already made with a list file and see if that does anything.

Also, auto generated maps dont have an included listfile.

In addition, Moonlite is seriously messing up files. Permanently, too. There seems to be a copy paste error: lines repeat themselves on the same line, like its pasting twice.

I get stuff like this:

Code:
	/**
	*	Changes the color of the unit.
	*	@param p2 The player's color you wish to change it to.
	*/	*/
	public void	public setTeamColorIndex(int p2) void setTeamColorIndex(int p2)
	{
		UnitSetTeamColorIndex(this, p2);		UnitSetTeamColorIndex(this, p2);
		}}

	/**
	*	Changes the unit's color back to what it was originally.
	*/
	public void resetTeamColorIndex()
	{
		UnitResetTeamColorIndex(this);
	}
And worse, Moonlite *saves* it. D:

A fix would be very much appreciated.
Please provide more info on the map script issue. Show me your code, etc.
Can you check whether it's only in the text editor or it also saves to the file? I'll look into it.
How would I reproduce it again?
 

rover2341

Is riding a roller coaster...Wee!
I thought I had it fixed. Imma try to fix it again.
As Moogle said: "Andromeda does not save files into the MPQ if it has errors. Thus, anything you wrote before will still be there if you make an error."
Same with the code completion. If your code doesn't compile, it won't put up code completion. And your code would ofc not run when it has errors
Make Sense
1.If it has errors, it wont compile thus, it will run the last time it could.

Doesn't make Sense
After getting it to compile once It will...
1. Never show on the bottom errors when it should
2. Never compile again even if there are no errors. (At least as far as i can tell, The example of 1.0 to 2.0)


I still don't understand why When i change it from 1.0 to 2.0 it doesn't change. But Ill just wait for a future update to fix that. Other wise I am still unclear
Great job on things so far, cant wait to start using moonlight :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    Good luck to the hurricane path people. Is TH still in Houston?
  • Ghan Ghan:
    I think so
    +1
  • The Helper The Helper:
    Yeah we got nothing here did not even rain
  • Ghan Ghan:
    We could use some rain.
  • The Helper The Helper:
    I am not complaining though Hurricanes are not fun I have been through alot of them
  • Blackveiled Blackveiled:
    I evacuated for it just incase since I live in La Porte pretty much right on the water (in Houston area). Didn't see anything. It's a good thing for me anyways.
  • Ghan Ghan:
    It's too bad that Blizzard messed up so terribly with Reforged.
  • Ghan Ghan:
    Still has a 0.6 user metacritic score.
  • Ghan Ghan:
    (Out of 10)
  • Varine Varine:
    I haven't even tried it yet because everyone said it sucked. How do you get .6 out of ten?
  • The Helper The Helper:
    I am waiting for Dwarf Fortress to come out on Steam then I am on it.
  • Accname Accname:
    I play Dwarf Fortress from time to time.
  • Accname Accname:
    Its Okay.
  • Accname Accname:
    But the performance is sub-par. Does not seem to be well optimized.
  • Varine Varine:
    Is the Steam version coming with a graphical overlay or is it using the ASCII graphics still?
  • tom_mai78101 tom_mai78101:
    Steam version has the graphical overlay.
  • The Helper The Helper:
    Steam Version has graphics, a new interface and will be integrated in the steam mod stuff
  • Blackveiled Blackveiled:
    I didn't think WC3 Reforged was that bad. It pretty much did what it stated (to me at least), but then again I can care less about reforged campaigns and all that. I just care about gameplay.
  • Varine Varine:
    I think people were hoping for a resurgence in mod support. I have little interest in the actual game tbh
  • Varine Varine:
    Plus I know they added that Dota precedent clause where Blizzard can steal your shit which isn't cool.
  • Ghan Ghan:
    They sold Reforged to the community as primarily a huge graphical uplift with high res textures and redone cinematics.
  • Ghan Ghan:
    They even showed one of the redone cinematics at Blizzcon and that very cinematic wasn't even in the released game.
  • Ghan Ghan:
    So I think folks were angry about that.
  • Varine Varine:
    Didn't the backwards compatability have issues too?

    Members online

    Affiliates

    Hive Workshop
    Top