XSE - The X Script Editor

The place to discuss scripting and game modifications for X³: Reunion.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

User avatar
nuclear_eclipse
Posts: 1129
Joined: Thu, 2. Sep 04, 01:54
x3tc

XSE - The X Script Editor

Post by nuclear_eclipse » Wed, 2. Nov 05, 01:22

About XSE
The X Script Editor is my conception and implementation for an *external* script editor for the X series. It will be fully compatible with X2 and X3 scripts, either written ingame or from my editor. It will allow the user to work with an easy to learn GUI environment, including mouse support and normal windows functionality. It will have many features that go far beyond the capabilites of the ingame editor, simply because the interface is not tied directly to the game engine.

It is still very much a work in progress, but it is getting closer and closer to a usable environment. It started as a project for one of my software engineering courses, but now that the project is over with, I will still be dedicated to completing this program and releasing it to the needy hands of the community.

Features:
- Works with both X2 and X3, and future releases of the X series
- Accepts multiple installations of X2/X3 to allow editing for multiple mods/versions
- Tabbed Editing for simultaneous editing of multiple scripts
- Undo/Redo functions for those inevitable mistakes
- Multi-line cut/copy/paste, even between scripts/tabs
- Integrated M.S.C.I. Handbook references
- Better performance than the ingame editor

Preview screenshots:

The main script editor window, with a single script opened. Note the option to edit description, version, and script engine.
[ external image ]

The preferences window, with repository editor open, and the File->Open dialog showing the usage of repositories.
[ external image ]

Planned Features and Current Status:
- COMPLETE - Portable code base that can be run on any operating system environment
- COMPLETE - Compatible with both X2 and X3 scripts, and any engine versions
- COMPLETE - Work with multiple installation locations / versions
- COMPLETE - Allow the user to work with multiple scripts at once (tabs)
- PLANNING - Allow for undo and redo features
- PLANNING - Allow for multi-line copy and paste routines, possibly between tabs as well
- PLANNING - Access the M.S.C.I. Handbook from in the editor
- IDEA - Make active links from script code to the M.S.C.I. Handbook for quick lookup

Coding Tasks and Current Status:
- CODING - Interface with tabs, toolbar, key shortcuts, and basic operations
--- COMPLETE - Preferences, including author and repository information
--- PLANNING - M.S.C.I. Handbook information
--- PLANNING - Help documentation (HTML based)
- CODING - Basic file operations
--- COMPLETE - Create new scripts
--- COMPLETE - Open existing scripts
--- COMPLETE - Save current script
--- PLANNING - Save as...
--- TESTING - Save all
- CODING - Basic editor functionality
--- PLANNING - Undo / Redo
--- PLANNING - Copy / Cut / Paste
- CODING - Primary script editor functionality
--- TESTING - Load a script file and interpret the code
--- TESTING - Save a script file with minimum output for operability in X*
--- CODING - Create a dynamic script engine command list setup
--- PLANNING - Display script lines in editor with ability to edit individual lines
--- PLANNING - Allow the user to select (multiple) lines for editing together
--- IDEA - Output the XML code that shows scripts in browsers

Overall Progress:
- Frontend ( GUI ) : 75% done
- Backend : 50-60% done

This will be updated as necessary, when tasks/features change status, or here is new information for the public. Any and all feedback, questions, or whatever is welcome, and I will answer it soon as I am on these forums rather often.

Cheers

Galaxy613
Posts: 3285
Joined: Tue, 28. Dec 04, 02:19
x4

Post by Galaxy613 » Wed, 2. Nov 05, 03:58

Good luck Nuke! :D
10,000 Lightyears of awesomeness

Xenon_Slayer
EGOSOFT
EGOSOFT
Posts: 13088
Joined: Sat, 9. Nov 02, 11:45
x4

Post by Xenon_Slayer » Wed, 2. Nov 05, 11:32

Cant wait! Should be good.
Come watch me on Twitch where I occasionally play several of the X games

JonusITA
Posts: 3443
Joined: Mon, 21. Jun 04, 15:13
x3

Post by JonusITA » Wed, 2. Nov 05, 12:41

tnx

another tool for us :)

User avatar
Red Spot
Posts: 3461
Joined: Fri, 4. Feb 05, 13:44
x3

Post by Red Spot » Wed, 2. Nov 05, 16:08

if its as good as you make me believe ..

Than I take off my head for you .. sir ..;)


G

carran
Posts: 820
Joined: Wed, 6. Nov 02, 20:31
x4

Post by carran » Thu, 10. Nov 05, 21:35

Any update on this?

User avatar
Crypton
Posts: 295
Joined: Wed, 28. Jan 04, 21:27
x3

Post by Crypton » Fri, 18. Nov 05, 11:07

now that rocks! :) Look forward to this, thanks much for working on it :D

unfunfofmpc
Posts: 300
Joined: Sat, 12. Nov 05, 19:37
x3

Post by unfunfofmpc » Fri, 18. Nov 05, 11:10

Good idea. Writing scripts in-game is a pain. If released in conjunction with my editor, should allow for much easier modding of the game.

Deleted User

Post by Deleted User » Fri, 18. Nov 05, 11:47

Good Idea.

Did you consider to make extern language files for easier translation of the GUI and also about work with different game languages?

prodaytrader
Posts: 63
Joined: Wed, 9. Nov 05, 00:00

Post by prodaytrader » Fri, 18. Nov 05, 12:14

hey too bad you cant get a little kick back from egosoft. Prehaps theres still hope for x4. Make sure to include some sort of limited license so that you can revoke all the licenses after a certain point and then maybe you can convience the suits to buy your program for x4 :)

carran
Posts: 820
Joined: Wed, 6. Nov 02, 20:31
x4

Post by carran » Wed, 7. Dec 05, 15:54

Bump!

Any update on this? care to release the source code if you're too busy to complete it?

Thanks!

Galaxy613
Posts: 3285
Joined: Tue, 28. Dec 04, 02:19
x4

Post by Galaxy613 » Wed, 7. Dec 05, 16:42

carran wrote:Bump!

Any update on this? care to release the source code if you're too busy to complete it?

Thanks!
I rather have Nuke finnish it then anyone else. Plus Nuke has both the Syndicate mod AND X3RPM on his plate at the moment, X3RPM is the one thats going to be "finnished" soon so maybe soon he can continue work on this...
10,000 Lightyears of awesomeness

carran
Posts: 820
Joined: Wed, 6. Nov 02, 20:31
x4

Post by carran » Wed, 7. Dec 05, 17:02

True - I'd rather he finished it too especially as I don't have the time to learn Java at the same time... It's just not the same as Oracle / Shell... :D

zergfest90
Posts: 339
Joined: Sun, 1. Jan 06, 06:29
x3tc

Any downloadable file available?

Post by zergfest90 » Sun, 22. Jan 06, 22:40

Has any one seen a version of this yet?

Thanks!

User avatar
nuclear_eclipse
Posts: 1129
Joined: Thu, 2. Sep 04, 01:54
x3tc

Post by nuclear_eclipse » Mon, 23. Jan 06, 00:00

It's still in the works. I haven't released any versions of it yet, as it doesn't actually allow you to 'do' anything but change the scripts filename, version, and description. It's not quito at the top of my project pile right now, but once I get the next Syndicate release out the door, I'm gonna try my hand at completing this program.

At the same time, I'm also looking into possibly redoing this in C. I'd really like to be able to release a Windows-native executable, but I'm daunted at the task of trying to create any form of decent GUI in windows without having to do tons of MFC cookie-cutter bull****. I'd much prefer to actually *code* the interface like I can in Java rather than use VisStudio to place it and then try to decipher all their crap to find where to place all my code....

On that note, if anyone knows any *good* C/C++ GUI libraries that AREN'T from Microsoft, but work with Windows XP in mind, I'd love to know where to get it so I can take a look.

Cheers.

Cycrow
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 22201
Joined: Sun, 14. Nov 04, 23:26
x4

Post by Cycrow » Mon, 23. Jan 06, 00:05

nuclear, u want to try QT

i made the XScript installer in C++ & QT, its also multiplatform, linux, mac, windows, etc

and btw, i hate MFC :P

User avatar
nuclear_eclipse
Posts: 1129
Joined: Thu, 2. Sep 04, 01:54
x3tc

Post by nuclear_eclipse » Mon, 23. Jan 06, 00:18

Cycrow wrote:nuclear, u want to try QT

i made the XScript installer in C++ & QT, its also multiplatform, linux, mac, windows, etc

and btw, i hate MFC :P
Hot. TY forever. Perhaps you'll be seeing XSE sooner thanks to this, assuming I can pick up QT pretty quickly. It's gotta be infinitely better than Java's AWT/Swing crap, which, although it's obtuse, is naturally and infinitely better than MFC...

Cycrow
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 22201
Joined: Sun, 14. Nov 04, 23:26
x4

Post by Cycrow » Mon, 23. Jan 06, 00:21

i prefer QT to both MFC and AWT

its fairly straight forward, u just have to get used to the signals & slots system

it also has libraries for xml and networking too

IneffableModder
Posts: 75
Joined: Wed, 9. Nov 05, 02:05
x3tc

Post by IneffableModder » Mon, 23. Jan 06, 05:23

Hey Nuke, I saw that one of your features is Undo and Redo ... You may alredy know this but creating that feature is relativly simple.

Whatever object you use to hold the scripts, you can just serialize the object and place it on a stack. Then when you want to undo, you just pop the old object off the stack and you have undone the change, for redo, just place the current object before you pop the undo off the stack to a new redo stack and so if you want to redo somthing, then you just pop that off the redo stack. This is just the basic idea, there are some datra management considerations but I thought I'd explain to you how I usually make an undo stack.

Good luck!
AMD Phenom 9600+
Nvidia 8800 GTS 320
4 GIGs Dual Channel Memory
2 250 gig Raid 0 3 Gb/s drives
LogiTech Extreme 3D Pro USB - If I can find it ...

User avatar
nuclear_eclipse
Posts: 1129
Joined: Thu, 2. Sep 04, 01:54
x3tc

Post by nuclear_eclipse » Mon, 23. Jan 06, 05:31

IneffableModder wrote:Hey Nuke, I saw that one of your features is Undo and Redo ... You may alredy know this but creating that feature is relativly simple.

Whatever object you use to hold the scripts, you can just serialize the object and place it on a stack. Then when you want to undo, you just pop the old object off the stack and you have undone the change, for redo, just place the current object before you pop the undo off the stack to a new redo stack and so if you want to redo somthing, then you just pop that off the redo stack. This is just the basic idea, there are some datra management considerations but I thought I'd explain to you how I usually make an undo stack.

Good luck!
Yep, that's the plan. The thing to watch for though is that the moment a change is made, the redo stack must be wiped clean, etc etc. I had to do this for my software eng. classes last year, so I'm plenty up to date on cleating and working with custom stacks and queues, but thanks for the tip. =]

Post Reply

Return to “X³: Reunion - Scripts and Modding”