Members | Sign In
All Forums > Mission Scripting
avatar

Artemis Mission Editor v 13.03.26.1

posted Jan 30, 2013 12:57:24 by RussJudge
I have picked up support of the Mission Editor from Hissatsu, since he can no longer continue supporting it. I created this new topic so that I have control over the starting post.

This is a complete Mission Editor environment for Artemis!
It provides GUI interface for editing the mission, adding and editing objects and conditions on a graphical space map, editing commands and conditions as statements presented in plain english, and more...

This program will allow you to:

- Create and edit missions in a Windows Forms interface
- Edit your commands and conditions in a graphial user interface with dropdown input suggestion, context help and lots of keyboard hotkeys for fast operation
- See and operate mission conditions and statements as plain english text, meaning you dont have to study the help files to know what commands or conditions are available to you or what the exact command or condition you encountered in mission file will actually do in game, you just chose commands or conditions from the list, and see everything in plain english, like "Create enemy at point (x, y, z) bearing 35 degrees with name..."
- Structurize your mission's events into folders, making it MUCH easier to navigate bigger missions
- Convert deprecated statements (like "direct") into their new versions (direct => add_ai point_throttle/target_throttle)
- Edit "create object" statements in events and start blocks using a graphical space map, which termendously helps positioning objects around
- Edit coordinates / spheres / rectangles on space map too (used in statements like direct, add_ai, if_inside/outside_sphere/box, destroy_near,...)
- See the logic flow and event dependency (which event triggers which event or requires which event to be triggered, etc.)
- Quickly find errors in your mission, like missing attributes that will crash the game, etc.
- Use all the quality-of-life features you expect to have. Copy/paste (you can even copy/paste to/from a text editor), undo/redo, autosave into a separate file so you dont lose unsaved work in the case of unexpected shutdown, smart find/replace, etc.
- Tweak it to your liking by modifying an extensive settings list.

You can find instructions, tutorial videos, latest version download links on the artemis wiki:
http://artemiswiki.pbworks.com/w/page/53389687/Mission%20Editor

---------------------
13.03.26.1
* replaced all occurrences of "if_targeting" with "if_player_is_targeting".
----------------------
New version 13.02.11.1 (Russ Judge)
* Specified the number format to US English to ensure numbers get saved to mission files correctly.
Please note that if your culture uses commas as decimal points, you may now need to use periods if you used commas before.
Not certain of this, though, since my system is US English.

----------------------
New version 13.02.05.2 (Russ Judge)
* Corrected spelling of Intrepid from Interpid.
----------------------
version 13.02.05.1 (Russ Judge)
* Changed default attributes for LAUNCH_FIGHTERS for add_ai from value2 to value1.

----------------------
version 13.01.31.1 (Russ Judge)
Thanks to KatoKatonian for identifying these bugs, and doing an excellent job of identifying the fix.
* Fixed bug introduced with version 13.01.18.1 for handling objects with expressions in X and Z for objects.
If the event had nameless objects that were mappable (no expressions), the process would crash upon Accept & Close.
* Fixed typo for setting the "targetName" attribute to null (not included in Xml) on the "Direct" command.
* Fixed process for adding whales to spacemap. It would simply never add them.
* Ran Code Analysis with Minimum Recommended Microsoft Rules and fixed a handful of issues.


-----------------------------

A few things of note: Source code is available on the same page as the download on the Artemis Wiki. My continued support will be limited to simple bug fixes and adding in new commands, so long as that is possible. If anyone wishes to apply their own tweaks they are welcome to take a look at the source code to see what they can do.

Please report any bugs on this thread--it's the best and quickest way to get fixes.
[Last edited Mar 27, 2013 12:51:33]
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
page   1 2 3 4 5 next last
61 replies
avatar
Charlie said Jan 30, 2013 15:26:22
Hey there, i am a long time user of the mission editor and just recently, it seems that my editor is getting getting information from the vesseldata.xml ,I've tried replacing the vesseldata but no luck. Any help would be appreciated, thanks!
avatar
RussJudge said Jan 30, 2013 16:19:06
I'm not sure I understand your problem--it's supposed to load the vesseldata.xml file to give you a list of vessels to choose from when creating objects.
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
avatar
KatoKatonian said Jan 30, 2013 21:10:30
Hi Russ,

I found a few bugs. The space map doesn't seem to let you add a whale. I think the problem is in Classes\UserControls\PanelSpaceMap.cs starting on line 2780. The code is:
this._PSM_cms_Main_New_Whale.Name = "_PSM_cms_Main_New_Whale";
this._PSM_cms_Main_New_Whale.Size = new System.Drawing.Size(163, 22);
this._PSM_cms_Main_New_Whale.Text = "(&9) Whale";

I think it needs the following line added:
this._PSM_cms_Main_New_Station.Click += new System.EventHandler(this._E_PSM_cms_Main_New_Whale_Click);


There is also a bug in the code that generates the "Direct" instruction. It's in Classes\Mission\ExpressionMember\Checks\ExpressionMemberCheck_Point_x_TargetName.cs on line 34. The code reads:
container.SetAttributeIfNull("taregtName", " ");

It has a typo and should read:
container.SetAttributeIfNull("targetName", " ");


And the program throws an exception if you try to edit objects on a space map that has more than one unnamed object (i.e. mine, asteroids, nebula). This one I can't track down as I'm not well versed in the API or the code, but the exception is:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at ArtemisMissionEditor.Mission.ParseSpaceMapCreateResults(List`1 toDelete, Int32 topmost, SpaceMap result)
   at ArtemisMissionEditor.Mission.EditCreateStatementsOnSpaceMap(Boolean underCursor, TreeNode nodeUnderCursor)
   at ArtemisMissionEditor._FormMain._E_FM_cms_MissionStatementTree_EditOnSpaceMap_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


So it looks like the problem is either in EditCreateStatementsOnSpaceMap() or ParseSpaceMapCreateResults() which are both in Classes\Mission\Mission.cs
[Last edited Jan 30, 2013 21:11:43]
avatar
RussJudge said Jan 30, 2013 22:20:51
Those are good catches--I'll try to dig into them tonight. Since the code is not mine, it's a bit rough to dig through it, and there's a few quirks in his programming style that is throwing me, but I should be able to have fixes by tomorrow.
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
avatar
AshleyNathanielReese said Jan 30, 2013 22:33:10
I cant even find the space map
avatar
MarkBell said Jan 31, 2013 10:41:21
If you right click in an event, one of the options is ”Edit objects via the space map.” Alternately, hit F2.
avatar
RussJudge said Jan 31, 2013 13:02:37
Okay, got the bugs fixed, version 13.01.31.1 updated on the wiki, along with source code.

Thanks to KatoKatonian for finding the issues.
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
avatar
Charlie said Jan 31, 2013 16:14:25
Russ, can i get your help with this problem on skype today? My skype name is chas5511
avatar
RussJudge said Jan 31, 2013 16:18:53
Sorry--I don't use skype. Plus, I may not be the best on how to use the Mission Editor--I don't really use it myself, and a lot of the features I don't really know, either. I just picked up supporting bugs and making sure new commands and conditions get added since Hissatsu is unable to continue with it.

Best might be to simply ask your question--if I can, I will answer it. If someone else knows, perhaps they can help.
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
avatar
KatoKatonian said Jan 31, 2013 16:49:57
Looks good, Russ, thanks for implementing those fixes!
avatar
RussJudge said Jan 31, 2013 18:09:51
@KatoKatonian: You made it easy. You nailed the right places, and the information for reproducing the issue was detailed and accurate. I wish I had more like that--I probably had everything fixed within 20 minutes from start to finish.
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
avatar
Charlie said Feb 02, 2013 07:59:38
Russ, wanted to say Lucas knew how to fix our vessel data. Whew! I was bummed. But I am back on track, thanks for everyones help.
avatar
RamiSihvo said Feb 03, 2013 13:45:55
Same problem here 13.01.31.1 and windows 8 in use and the editor doesn't want to load vesseldata.xml
avatar
Charlie said Feb 03, 2013 16:16:06
Hey Rami, a friend of ours found out how to fix this. Go to your artemis directory and make a folder. Call it anything you'd like for example "Editor" then place the mission editor inside the folder you've created and start it. Somehow, this forces the editor to reload it's config files and find's this vesseldata.xml, hope this helped!
avatar
lucas99801 said Feb 03, 2013 17:00:02
Hey Russ, I'm getting an issue when editing missions.

The error appears to occur when using the "Edit objects on space map" command.

The error does not appear on the first use of the Space map editor, but after the first "Accept&Close" each time I use it after that, I get the following error when trying to save the edit:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at ArtemisMissionEditor.Mission.ParseSpaceMapCreateResults(List`1 toDelete, Int32 topmost, SpaceMap result)
   at ArtemisMissionEditor.Mission.EditCreateStatementsOnSpaceMap(Boolean underCursor, TreeNode nodeUnderCursor)
   at ArtemisMissionEditor._FormMain._E_FM_cms_MissionStatementTree_EditOnSpaceMap_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ArtemisMissionEditor
    Assembly Version: 13.1.25.1
    Win32 Version: 13.01.25.1
    CodeBase: file:///C:/Users/Lucas/Desktop/Artemis/Editor/ArtemisMissionEditor.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.




Using version 130125.1
Hosting a Mumble (Murmur) server @ tsnfenrir.no-ip.org
Having trouble connecting to the TeamSpeak channel: http://tsnfenrir.no-ip.org/ts3
Helm Script for Numerical heading input: https://dl.dropbox.com/u/10193809/ArtemisHelmFSW.zip
Twitter: @lucas99801
Facebook: /lucastarnold
Login below to reply: