[PROGRAM] X-Studio Script Editor [v1.08 : 14th Feb 14]

The place to discuss scripting and game modifications for X³: Terran Conflict and X³: Albion Prelude.

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

Post Reply
User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

[PROGRAM] X-Studio Script Editor [v1.08 : 14th Feb 14]

Post by mr.bear » Mon, 16. May 11, 18:24

Image

Script and Language file editor for X² The Threat, X³ Reunion, X³ Terran Conflict and X³ Albion Prelude available in English and German.

Download
  • LATEST RELEASE: v1.08
    RELEASE DATE: 14th February 2014


    Image

    Image

    Outdated:

    Image

    Instructions:
    Extract the archive to anywhere and run X-Studio.exe. When run for the first you'll have to select your language and game folder.
    Albion Prelude users don't need to select their 'addon' folder, just the folder containing X3AP.exe
Features
  • • MSCI Script editor/compiler with auto-complete for commands, constants and variables
    • Searchable list of commands/constants (automatically links 'MSCI Reference' forum topics)
    • Display all local/global variables, all page/id strings, all script calls in/out of any script
    • Tooltips explaining many script commands/constants + showing properties of ships/stations/wares

    • Language file editor with a word-processor style interface for text and buttons
    • Supports language file string properties like author, title, columns

    • Create/export project files to group together scripts and language files
    • Reads/writes both xml/pck files
    • Automatic backup of open scripts
    • Extensive help file and program tutorials

    Image Image Image Image

    Image Image Image
Latest Updates
  • X-Studio v1.08 : 14th February 2014
    • Fixed BUG:075 'Program saves .pck language files as uncompressed XML but with a .pck extension'

    X-Studio v1.07 : 26th January 2014
    • Fixed BUG:074 Type of all script arguments is reset to type of first argument when script is loaded

    X-Studio v1.06 : 3rd January 2014
    • Added feature request to export all project files into a custom named zip archive
    • Added feature request to re-order script arguments
    • Export project files command now organises files into 't' and 'scripts' subfolders

    • Fixed BUG:069 'Cannot navigate the strings in a language file with direction keys or page up/down'
    • Fixed BUG:072 'Auto-complete lists commands that are incompatible with the script being edited'
    • Fixed BUG:073 'Project backup incorrectly says it has backed up zero files'

    X-Studio v1.05 : 31st December 2013
    • When editing language string IDs or script argument names/descriptions, the text is now initially selected
    • The 'Export project' command now queries the user whether to overwrite an existing file instead of failing silently
    • The folder browser dialog for the 'Export project' command can now be resized and contains a 'Make New Folder' button
    • The 'New Document' dialog now initially selects 'MSCI script'
    • Script arguments are now listed in the auto-complete script variables window
    • Reconnected the 'automatically indent script code' option, which was being ignored

    • Fixed BUG:060 'Program doesn't load language files using the X³ Reunion naming convention'
    • Fixed BUG:061 'Program cannot load scripts saved in a foreign language (unknown datatype error)'
    • Fixed BUG:062 'Backup files are sometimes truncated'
    • Fixed BUG:064 'Export project files command only exports scripts (not language/project files)'
    • Fixed BUG:065 'When saving new documents you have already named on creation, program asks for filename'
    • Fixed BUG:066 'The compiler message displayed when saving scripts doesn't reflect the script game version'
    • Fixed BUG:067 'Tooltips in the script editor sometimes incorrectly state there is no description for a command'
    • Fixed BUG:068 'Script arguments are not listed in the auto-complete list of script variables'

    X-Studio v1.04 : 11th September 2013
    • Fixed BUG:059 All scripts written by the program crash X³ Reunion on startup

    X-Studio v1.03 : 6th September 2013
    • New strings are automatically selected when inserted into language file documents
    • Strings can now be inserted/deleted by pressing Insert/Delete
    • Changed the compatibility of several script commands (Jack08, Nicoman35)
    • Removed script command 'get subtype integer of data' since never implemented (Jack08)

    • Fixed BUG:057 German translation displays as English under Windows XP/2000
    • Fixed BUG:056 Program crashes when version 1.02 fails to load game data
    • Fixed BUG:043 Pressing HOME to scroll the code window doesn't scroll all the way to the left edge
    • Fixed BUG:032 Indentation of code within subroutines is a little unpredictable
Latest Feature Requests
  • [COMPLETE] Customizable script backup feature
    [COMPLETE] Change order of script arguments
    [IN PROGRESS] Allow national symbols keyboard input in script editor
    [IN PROGRESS] Add Ctrl+Insert / Ctrl+Shift shortcuts for copy/paste
    [IN PROGRESS] Display history of previously used game folders in preferences window
    [IN PROGRESS] Display number of game objects in each group listed in search window
    [IN PROGRESS] Make command comments compatible with the in-game script editor
    [DECLINED] Ability to view differences between multiple scripts
    [DECLINED] Ability to re-arrange document tabs
    [DECLINED] Option to change the size of text in helper windows
Latest Known Bugs
  • 075. [FIXED] Program saves .pck language files as uncompressed XML but with a .pck extension
    074. [FIXED] Type of all script arguments is reset to type of first argument when script is loaded
    073. [FIXED] Project backup incorrectly says it has backed up zero files
    072. [FIXED] Auto-complete lists commands that are incompatible with the script being edited
    071. [IN PROGRESS] Interrupt symbols are sometimes displayed for commands that do not yield without START (eg. speak array)
    070. [IN PROGRESS] Cannot scroll the code editor by holding the mouse-wheel
    069. [FIXED] Cannot navigate the strings in a language file with direction keys or page up/down
    068. [FIXED] Script arguments are not listed in the auto-complete list of script variables
    068. [FIXED] Script arguments are not listed in the auto-complete list of script variables
    067. [FIXED] Tooltips in the script editor sometimes incorrectly state there is no description for a command
    066. [FIXED] The compiler message displayed when saving scripts doesn't reflect the script game version
    065. [FIXED] When saving new documents you have already named on creation, program asks for filename
    064. [FIXED] Export project files command only exports scripts (not language/project files)
    063. [IN PROGRESS] Find & Replace in 'all documents' sometimes produceds garbled text
    062. [FIXED] Backup files are sometimes truncated
    061. [FIXED] Program fails to load Chinese scripts
    060. [FIXED] Program doesn't load language files using the X³ Reunion naming convention
    059. [FIXED] All scripts written by the program crash X³ Reunion on startup
    058. [IN PROGRESS] Auto-complete can cause access violations in unknown circumstances
    057. [FIXED] German translation displays as English under Windows XP/2000
    056. [FIXED] Program crashes when version 1.02 fails to load game data
    043. [FIXED] Pressing HOME to scroll the code window doesn't scroll all the way to the left edge
    032. [FIXED] Indentation of code within subroutines is a little unpredictable
Mr. Bear

UPDATED: 14th February 2014


Edit: Added alternative download links. X2-Illuminatus
Last edited by mr.bear on Fri, 14. Feb 14, 12:57, edited 193 times in total.
Rapunzel, Rapunzel, let down your bear...

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Mon, 16. May 11, 18:26

Script Compatibility

I have validated the compiler by checking the XML generated by MSCI and X-Studio are an exact match, so you can be confident it won't break your scripts. I've tested all the scripts in all the games/mods listed below:
  • Vanilla X3 Reunion v2.5
    Vanilla X3 Terran Conflict v3.11
    Vanilla X3 Albion Prelude v1.0 and v2.0
    X3TC/X3AP X3 Rebalance Mod (XRM) v1.25b
    X-Tended Terran Conflict (XTC) v1.2a
    Pirate Guild 3 v1.59
    ImprovedRaces v15.31
    Improved Races 2.0 v1.08
    Factory Complex Constructor [4.02]
    MARS Fire Control v5.24
    Cycrow Cheat Package v1.62
    Currently incompatible with X2 - The Threat
Running From Extracted Game Data

If you want to run the program on a computer without X, you just need to copy the following files into a folder and select that as your 'game folder' in Preferences. (Make sure you put them in their proper subfolders: 'mov', 't' and 'types')
  • t\0001-L044.pck (or .XML) (Main language strings)
    mov\00044.pck (or .XML) (Speech clip definitions)
    types\sounds.pck (or .TXT) (Sound effect definitions)
    types\videos.pck (or .TXT) (Video clip definitions)
    types\TDocks.pck (or .TXT)
    types\TFactories.pck (or .TXT)
    types\TShips.pck (or .TXT)
    types\TLaser.pck (or .TXT)
    types\TShields.pck (or .TXT)
    types\TMissiles.pck (or .TXT)
    types\TWareE.pck (or .TXT)
    types\TWareN.pck (or .TXT)
    types\TWareB.pck (or .TXT)
    types\TWareF.pck (or .TXT)
    types\TWareM.pck (or .TXT)
    types\TWareT.pck (or .TXT)
Adding Your Own Custom Commands

You must create a Custom Syntax File called "Custom.Syntax.txt" and place it within same the folder as X-Studio.exe. It must contain one of the blocks shown below for each new command you wish to add. (You must also ensure there isn't a trailing CRLF on the last line of the file). Each line is explained below:

Code: Select all

CUSTOM
X2,X3R,X3TC,X3AP
111
NONE
$0 interrupt with script $1 and priority $2
RefObj
Script Name
Var/Number
-------------- END DEFINITION ---------------
  • Line1: Command group - must be CUSTOM
    Line2: Compatibility - can be combination or all of X2, X3R, X3TC and X3AP
    Line3: Command ID - must be unique. See the X2 editor (page 2000) for a full list. (NB: 250->260 are reserved by X-Studio for macros)
    Line4: MSCI references URL - must be NONE
    Line5: Syntax of the command, where each $x represents a parameter. Also note that:
    • • The hash created from the syntax of each command must be unique, only words and operators are compared, spacing is ignored
      • You must not include the reference operator -> or return operator = in command text, however you can include = as a non-return operator
      • You must provide a space between each parameters markers ($x)
      • The order of parameters is defined by the order in which they're stored within the <codearray> section of an MSCI script
      • Do not include reserved words like start, if, while etc.
      • In order to display all commands when loading game data from older versions, parameter syntax names are hard-coded into X-Studio, so you must specify them in english and you can't invent new ones. Use 'Value' if you need to represent your own parameter type.
    Line6: Parameter syntax, in ascending order ie. $0, $1, $2, $3. Note this may be different to the order in which they are displayed in the syntax, where $1, $0, $2 is common.
    Line7: End marker - must be -------------- END DEFINITION ---------------
X-Studio will display a log each custom command loaded in the compiler output window when the program loads.
Successfully loaded commands will appear in the 'Custom Commands' group.
Commands will fail to load if the hash of their syntax is not unique or parameter syntax is unrecognised.


Source Code

LATEST RELEASE: v1.01
RELEASE DATE: 24th February 2013


[ external image ]

Instructions:
X-Studio is written in C and was built using Visual Studio 2008.
Solution contains 6 projects: Utilities, CustomControls, LogicLibrary, UserInterface, Resources and LogViewer.
Last edited by mr.bear on Sun, 24. Feb 13, 14:01, edited 68 times in total.
Rapunzel, Rapunzel, let down your bear...

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Mon, 16. May 11, 18:26

Historic Bugs Listing
  • 074. [FIXED] Type of all script arguments is reset to type of first argument when script is loaded
    073. [FIXED] Project backup incorrectly says it has backed up zero files
    072. [FIXED] Auto-complete lists commands that are incompatible with the script being edited
    071. [IN PROGRESS] Interrupt symbols are sometimes displayed for commands that do not yield without START (eg. speak array)
    070. [IN PROGRESS] Cannot scroll the code editor by holding the mouse-wheel
    069. [FIXED] Cannot navigate the strings in a language file with direction keys or page up/down
    068. [FIXED] Script arguments are not listed in the auto-complete list of script variables
    068. [FIXED] Script arguments are not listed in the auto-complete list of script variables
    067. [FIXED] Tooltips in the script editor sometimes incorrectly state there is no description for a command
    066. [FIXED] The compiler message displayed when saving scripts doesn't reflect the script game version
    065. [FIXED] When saving new documents you have already named on creation, program asks for filename
    064. [FIXED] Export project files command only exports scripts (not language/project files)
    063. [IN PROGRESS] Find & Replace in 'all documents' sometimes produceds garbled text
    062. [FIXED] Backup files are sometimes truncated
    061. [FIXED] Program fails to load Chinese scripts
    060. [FIXED] Program doesn't load language files using the X³ Reunion naming convention
    059. [FIXED] All scripts written by the program crash X³ Reunion on startup
    058. [IN PROGRESS] Auto-complete can cause access violations in unknown circumstances
    057. [FIXED] German translation displays as English under Windows XP/2000
    056. [FIXED] Program crashes when version 1.02 fails to load game data
    055. [FIXED] Language files aren't loaded by the game because of an error in the heading
    054. [FIXED] Unexpected code following the 'else' command causes X-Studio to hang while compiling
    053. [FIXED] Corrupted text displayed when using 'Open Target Script' menu command
    052. [FIXED] Writing any operator (including 'or', 'and') between square brackets causes a 'debug assertion' message
    051. [FIXED] 'Close', 'Save', 'Save As' menu items don't reflect current document/project
    050. [FIXED] Race names that conflict with other script objects aren't made unique
    049. [FIXED] Using conditionals with 'random value between x and y' command causes an error within MSCI
    048. [FIXED] An access violation occurs when you search for text in a script
    047. [FIXED] Windows XP users receive 'Entry Point Not Found' error trying to start the program
    046. [FIXED] Windows Explorer 'open file' dialog doesn't remember the last folder used
    045. [FIXED] Saving a script without a return command causes an access violation
    044. [FIXED] Iterator used in 'for each using counter' macros is not saved after reloading script
    043. [FIXED] Pressing HOME to scroll the code window doesn't scroll all the way to the left edge
    042. [FIXED] Some script call commands are not detected by the external script-call search
    041. [FIXED] Cannot scroll the list of available new documents on some systems
    040. [FIXED] Find & Replace is case sensitive
    039. [FIXED] Auto-completing macros sometimes appends instead of replaces the existing command
    038. [FIXED] Cannot navigate through words in comments by holding control and using the arrow keys
    037. [FIXED] Pressing ENTER for a newline in the 'submit correction' window submits the correction
    036. [FIXED] You cannot open scripts that implement an unrecognised ship/station command
    035. [FIXED] All scripts without a ship/station command are saved as implementing COMMAND_NONE
    034. [FIXED] The first letter of comments is sometimes truncated after reloading scripts
    033. [FIXED] Helper window caption titles are truncated on some systems
    032. [FIXED] Indentation of code within subroutines is a little unpredictable
    031. [FIXED] Backspacing while displaying suggestions may cause an access violation
    030. [FIXED] Illogical expressions are compiled instead of producing an error
    029. [FIXED] Web-browser XML becomes corrupted when nesting more than 10 'if' statements, preventing you from re-opening the script
    028. [FIXED] A warning is not produced when you use variables without assigning them first
    027. [FIXED] An access violation may occur if you try to use skip-if on a command directly beneath another skip-if
    026. [FIXED] Access violations during compilation prevent you continuing to edit the script
    025. [FIXED] Copy/paste and undo/redo corrupts scripts by inserting hundreds of extra lines
    024. [FIXED] An access violation occurs if you remove script arguments
    023. [FIXED] An access violation occurs when you attempt to comment an empty line
    022. [FIXED] Text selection is lost when you right-click
    021. [FIXED] Zero-byte files cause an exception in the file browser
    020. [FIXED] Using a number for the label name causes an exception
    019. [FIXED] New arguments were not created
    018. [FIXED] Auto-complete deletes the entire line when inserting a command
    017. [FIXED] Removing script arguments causes the program to crash
    016. [FIXED] Scrolling the mouse wheel very fast causes the script editor to 'jump'
    015. [FIXED] Albion Prelude scripts with the new <sourceplaintext> tag cannot be not loaded
    014. [FIXED] Empty string entries in supplementary language files produce a warning and are not processed
    013. [FIXED] XML tags cannot be placed inside comments in any XML file
    012. [FIXED] An access violation occurs if a matching string is not found for the name of ware, missile, laser or shield
    011. [FIXED] If you press RETURN twice in a script, it automatically inserts the first auto-complete entry
    010. [FIXED] An apostrophe is appended to all strings when scripts are saved
    009. [FIXED] Filtering the script object lists displays results from the wrong groups
    008. [FIXED] Loading an already opened script results in a multiple documents being created
    007. [FIXED] Variables switch places with each other after saving and loading a script
    006. [FIXED] Sometimes you cannot switch between documents
    005. [FIXED] New script arguments are not actually created
    004. [FIXED] App crashes during loading when 'loading language strings' is displayed
    003. [FIXED] App crashes when displaying the preferences dialog (if running app for the first time)
    002. [FIXED] You receieve multiple 'an unexpected close tag was detected' errors when loading scripts created by eXscriptor for the first time
    001. [FIXED] Syntax is not highlighted when viewing scripts in a web-browser
Historic Feature Requests
  • [COMPLETE] Customizable script backup feature
    [COMPLETE] Change order of script arguments
    [DECLINED] Ability to view differences between multiple scripts
    [DECLINED] Ability to re-arrange document tabs
    [DECLINED] Option to change the size of text in helper windows
    [COMPLETE] Auto-save open scripts every 5 minutes
    [COMPLETE] Display the path of each document at all times
    [COMPLETE] Add a separate choice in windows explorer 'Open File' window for Project files
    [COMPLETE] Case sensitivity option for 'Find Text' command
    [COMPLETE] Automatically supply the arguments names for 'call script' commands via auto-complete
    [COMPLETE] Check for missing project files in the folder containing the .xprj file
    [COMPLETE] Ability to export all files within a project
    [COMPLETE] Ability to re-display tutorial windows
    [COMPLETE] Ability to add custom commands
    [COMPLETE] Create function macros that expand into real commands when saved
    [COMPLETE] Support for loading scripts via drag n drop
    [COMPLETE] Ability to load script dependencies via the script properties window
    [COMPLETE] Ability to automatically re-open the scripts you were working on when you closed the program
    [COMPLETE] Ability to open the target of script-call commands through the script editor context menu
    [COMPLETE] Ability to close open scripts by clicking their tab with the middle mouse button
    [COMPLETE] Ability to open multiple scripts at once through the 'open script' window
    [COMPLETE] Ability to use wildcard file matching in the 'open script' window
    [COMPLETE] Separate filters in the 'open script' window for .pck and .xml scripts
    [COMPLETE] Option to open all scripts called by a script when it's loaded
Complete Release History
  • X-Studio v1.07 : 26th January 2014
    • Fixed BUG:074 Type of all script arguments is reset to type of first argument when script is loaded

    X-Studio v1.06 : 3rd January 2014
    • Added feature request to export all project files into a custom named zip archive
    • Added feature request to re-order script arguments
    • Export project files command now organises files into 't' and 'scripts' subfolders

    • Fixed BUG:069 'Cannot navigate the strings in a language file with direction keys or page up/down'
    • Fixed BUG:072 'Auto-complete lists commands that are incompatible with the script being edited'
    • Fixed BUG:073 'Project backup incorrectly says it has backed up zero files'

    X-Studio v1.05 : 31st December 2013
    • When editing language string IDs or script argument names/descriptions, the text is now initially selected
    • The 'Export project' command now queries the user whether to overwrite an existing file instead of failing silently
    • The folder browser dialog for the 'Export project' command can now be resized and contains a 'Make New Folder' button
    • The 'New Document' dialog now initially selects 'MSCI script'
    • Script arguments are now listed in the auto-complete script variables window
    • Reconnected the 'automatically indent script code' option, which was being ignored

    • Fixed BUG:060 'Program doesn't load language files using the X³ Reunion naming convention'
    • Fixed BUG:061 'Program cannot load scripts saved in a foreign language (unknown datatype error)'
    • Fixed BUG:062 'Backup files are sometimes truncated'
    • Fixed BUG:064 'Export project files command only exports scripts (not language/project files)'
    • Fixed BUG:065 'When saving new documents you have already named on creation, program asks for filename'
    • Fixed BUG:066 'The compiler message displayed when saving scripts doesn't reflect the script game version'
    • Fixed BUG:067 'Tooltips in the script editor sometimes incorrectly state there is no description for a command'
    • Fixed BUG:068 'Script arguments are not listed in the auto-complete list of script variables'

    X-Studio v1.04 : 11th September 2013
    • Fixed BUG:059 All scripts written by the program crash X³ Reunion on startup

    X-Studio v1.03 : 6th September 2013
    • New strings are automatically selected when inserted into language file documents
    • Strings can now be inserted/deleted by pressing Insert/Delete
    • Changed the compatibility of several script commands (Jack08, Nicoman35)
    • Removed script command 'get subtype integer of data' since never implemented (Jack08)

    • Fixed BUG:057 German translation displays as English under Windows XP/2000
    • Fixed BUG:056 Program crashes when version 1.02 fails to load game data
    • Fixed BUG:043 Pressing HOME to scroll the code window doesn't scroll all the way to the left edge
    • Fixed BUG:032 Indentation of code within subroutines is a little unpredictable

    X-Studio v1.02 : 1st April 2013
    • Added feature request 'Press F3 to find next text-search result'
    • Added 'Automatically increment script version when saving' preference
    • Added mnemonic keyboard shortcuts to english menu items
    • Added submissions and corrections by Jack08 and Nekomata
    • Changed compatibility of 'format seconds to Zura time string' to incompatible with X3AP
    • Removed 'Test' menu from main window

    • Fixed BUG:055 Language files aren't loaded by the game because of an error in the heading

    X-Studio v1.01 : 24th February 2013
    • Added a few more credits to the 'About' dialog (apologies if i've missed anyone out)

    • Fixed issue causing access violation when loading XTC script objects
    • Fixed a resource leak causing program graphics to dissapear after extended usage
    • Fixed BUG:054 Unexpected code following the 'else' command causes X-Studio to hang while compiling
    • Fixed BUG:053 Corrupted text displayed when using 'Open Target Script' menu command

    X-Studio v1.00 : 21st February 2013
    • Added feature request 'Display overridden command in the tooltip of object commands'
    • Added ability to check online for latest program update
    • Added details of missing game data as 'attachments' to the following errors:
    > • Missing game object properties
    > • Unresolved/overwritten language strings
    • Added credits to 'About' dialog
    • Released source code

    • Fixed issue causing incorrect co-ordinates to be displayed for 'Unknown Sectors'

    Beta IV (Update 5): 17th February 2013
    • Added new tooltips for about 30 commands
    • Added ability to search script folder for any command/object/constant (results are automatically highlighted)
    • Added feature request 'Add dialog for creating new strings in language file editor'
    • Slightly optimized load/save times and general performance

    • Fixed issue causing file browser to display the wrong icons for files
    • Fixed issue causing bottom half of logfile to be saved to script folder
    • Fixed issue causing X-Studio to hang when displaying tooltips with extremely long words eg. COMMAND_COMMERCIAL_AGENT_STATION_ADMIN
    • Removed 'Formations' group of ScriptObjects - duplicates of formation constants listed under 'Constants'

    Beta IV (Update 4): 12th February 2013
    • Added Log Viewer to bug submission dialog
    • Added Easter Egg
    • Changed default MSCI extension from pck to xml

    • Fixed search window displaying tooltips containing only a full stop
    • Fixed BUG:051 'Close', 'Save', 'Save As' menu items don't reflect current document/project
    • Fixed BUG:050 Race names that conflict with other script objects aren't made unique
    • Fixed BUG:049 Using conditionals with 'random value between x and y' command causes an error within MSCI

    Beta IV (Update 3): 11th February 2013
    • Completed German Translation


    Beta IV (Update 2): 10th February 2013
    • Added corrections submitted by Jack08 and DrBullwinkle
    • Updated Help File to reflect recent changes

    • Fixed BUG:048 - An access violation occurs when you search for text in a script
    • Fixed BUG:047 - Windows XP users receive 'Entry Point Not Found' error trying to start the program (Thanks DrBullwinkle)
    • Fixed BUG:046 - Windows Explorer 'open file' dialog doesn't remember the last folder used
    • Fixed BUG:045 - Saving a script without a return command causes an access violation

    Beta IV (Update 1): 7th February 2013
    • Fixed bug allowing missing 'return' or 'endsub' at end of script
    • Fixed bug allowing 'if' commands within 'skip-if' commands
    • Fixed bug allowing changes to read-only properties in the game-strings browser
    • Fixed bug erasing the command a script implements when document is saved

    Beta IV : 6th February 2013
    • Added Language file editor
    • Added partial german translation
    • Application appears correctly on computers using different windows themes
    • Added feature request "Display the path of each document at all times"
    • Added feature request "Add a separate choice in windows explorer 'Open File' window for Project files"
    • Added feature request "Auto-save open scripts every 5 minutes"

    • Fixed BUG:044 - Iterator used in 'for each using counter' macros is not saved after reloading script
    • Fixed BUG:041 - Cannot scroll the list of available new documents on some systems
    • Fixed BUG:042 - Some script call commands are not detected by the external script-call search
    • Fixed BUG:033 - Helper window caption titles are truncated on some systems

    Beta III (Update 13) : 12th October 2012
    • Added feature request "automatically supply script-call arguments for 'call script' command"
    • Added feature request 'manually displaying tutorial windows'
    • Added feature request 'case sensitive/insensitive text search'
    • Added recently used file list
    • Add keyboard shortcut Ctrl+Tab for switching between open documents
    • Completed help-file section on Projects / ProjectVariables
    • Updated help-file page on Adv. Loading options

    • Fixed BUG:040 - Find & Replace is case sensitive

    Beta III (Update 12) : 10th October 2012
    • Updated help-file with full list of commands that have been changed

    • Fixed BUG:039. Auto-completing macros sometimes appends instead of replaces the existing command
    • Fixed BUG:038. Cannot navigate through words in comments by holding control and using the arrow keys
    • Fixed BUG:037. Pressing ENTER for a newline in the 'submit correction' window submits the correction
    • Fixed BUG:036. You cannot open scripts that implement an unrecognised ship/station command
    • Fixed BUG:035. All scripts without a ship/station command are saved as implementing COMMAND_NONE
    • Fixed BUG:034. The first letter of comments is sometimes truncated after reloading scripts
    • Fixed BUG:033. Helper window caption titles are truncated on some systems
    • Fixed BUG:030. Illogical expressions are compiled instead of producing an error

    Beta III (Update 11) : 7th October 2012
    • Added list of commands that have been changed to the help file
    • Scripts using older incompatible commands now load successfully

    • Fixed BUG:1056 - Iterators within nested 'for each' macros are not unique

    Beta III (Update 10) : 7th October 2012
    • Added option to export all files in a project to a specific folder
    • Added 'replace' functionality to Find & Replace text
    • Add a 'goto label' context menu item to the MSCI editor
    • Added ability to define custom commands using an external file for Jack08
    • Missing script properties, commonly found in scripts written with ESCE editor, are now read from the <codearray> section
    • ID of commands overridden by language files is displayed on load
    • Missing project files are searched for in the folder containing the .xprj file
    • Subroutine code is now indented (experimental)
    • Added option to use windows explorer Open File dialog instead of the catalogue browser

    • Fixed BUG:1050 - And access violation occurs if you use an 'if' without a matching 'end'
    • Fixed BUG:029 - Web-browser XML becomes corrupted when nesting more than 10 'if' statements, preventing you from re-opening the script
    • Fixed BUG:031 - Backspacing while displaying suggestions may cause an access violation
    • Fixed BUG:1053 - Can't load scripts with empty descriptions or arguments
    • Fixed BUG:1054 - Can't use 'dim' macro with numbers, strings or objects

    Beta III (Update 8 ) : 23rd September 2012
    • Fixed BUG:027 An access violation may occur if you try to use skip-if on a command directly beneath another skip-if
    • Fixed BUG:028 A warning is not produced when you use variables without assigning them first

    Beta III (Update 7) : 21st September 2012
    • Added 'Show Compatible' checkbox to search dialog
    • Added font name/size preview to preferences window
    • Fixed drawing code for older systems without windows themes

    • Fixed BUG:025 Copy/paste and undo/redo corrupts scripts by inserting hundreds of extra lines
    • Fixed BUG:026 Access violations during compilation prevent you continuing to edit the script

    Beta III (Update 6) : 19th September 2012
    • Increase speed of OpenFile dialog when only displaying .xml scripts and project files
    • Merged Close/Save/SaveAs menu items for documents and projects, they now act upon whichever is currently selected
    • Added option to insert all open documents into the current project
    • Fixed missing status bar explanations for many menu items, and some tooltips for controls in the properties window
    • No longer have to manually close current project to start/open another

    • Fixed BUG 023: An access violation occurs when you attempt to comment an empty line
    • Fixed BUG 024: An access violation occurs if you remove script arguments
    • 6 internal bug fixes

    Beta III (Update 5) - 18 September 2012
    • Added 'Undo/Redo' to script editor
    • Added wildcard pattern matching to OpenFile dialog, * and ? are supported.
    • Changed loading order to: loose .pck -> loose.txt/.xml -> catalogue .pck -> catalogue .txt/.xml
    • Added project variables: displays strings used in scripts even if you store the page ID in a global variable
    • Partially updated the help file, press F1 to jump to relevant pages. ScriptEditor, Preferences, Properties done.
    • Fixed keyboard shortcuts all over the program
    • New Documents now display 'SaveAs' and 'Would you like to save?' as you would expect
    • Fixed lots of problems with Windows XP


    Beta III (Update 4) - 13 September 2012
    • Added 'Find Text' function

    • Fixed BUG 022: Text selection is lost when you right-click

    Beta III (Update 3) - 6 September 2012
    • Added options to disabling auto-complete
    • Added more error checking during program load

    • Fixed BUG 019: New arguments were not created
    • Fixed BUG 020: Using a number for the label name causes an exception

    Beta III (Update 2) - 3 September 2012
    • Tried to fix bugs for DrBullwinkle, AndrewWilde and JoelR


    Beta III (Update 1) - 2 September 2012
    • Prices of (most) GameObjects are now displayed in tooltips
    • Added a few more tutorial windows
    • Added option to cancel when closing unsaved documents
    • Added lots of missing error message titles

    • Fixed BUG 018 : 'Auto-complete deletes the entire line when inserting a command'

    Beta III (Preview) - 31 August 2012
    • Added auto-complete, tooltips for commands, automatic bug reporting and automatic description corrections
    • Added support for project files and saving as .pck
    • Added external script dependency search and option to (recursively) open script dependencies on load
    • Added local/global variable dependency list, and language string dependency list
    • Connected to MSCI reference forum topics
    • Validated code generation engine
    • Added tutorial windows on first use
    • Redesigned user interface
    • Added feature request 'Ability to load multiple script dependencies via the script properties window'
    • Added feature request 'Ability to automatically re-open the scripts you were working on when you closed the program'
    • Added feature request 'Ability to open the target of script-call commands through the script editor context menu'
    • Added feature request 'Ability to close open scripts by clicking their tab with the middle mouse button'
    • Added feature request 'Separate filters in the 'open script' window for .pck and .xml scripts'

    • Fixed BUG 017 : 'Removing script arguments causes the program to crash'
    • Many internal bug fixes

    Beta II (Update 7) - 30 May 2012
    • Added support for loading scripts via drag n drop
    • Added ability to load script dependencies via the script properties window
    • Script objects loaded from modded content now have a unique icon

    • Fixed BUG 014 : 'Empty string entries in supplementary language files produce a warning and are not processed'
    • Fixed BUG 015 : 'Albion Prelude scripts with the new <sourceplaintext> tag cannot be not loaded'
    • Fixed BUG 016 : 'Scrolling the mouse wheel very fast causes the script editor to 'jump''
    • 12 internal bug fixes

    Beta II (Update 6) - 28 May 2012
    • Fixed BUG 012 : 'An access violation occurs if a matching string is not found for the name of ware, missile, laser or shield'
    • Fixed BUG 013 : 'XML tags cannot be placed inside comments in any XML file'

    Beta II (Update 5) - 27 May 2012
    • Added support for X3:AP
    • Added support for commands from older versions that were changed or deleted
    • Added support for custom game data in object definition files
    • ScriptObject list now shows each ScriptObject's associated game version

    • Fixed BUG 011 : 'If you press RETURN twice in a script, it automatically inserts the first auto-complete entry'

    Beta II (Update 4) - 12 May 2012
    • Game data can now be loaded in multiple languages
    • Game data is now loaded in the same order as the game: extracted PCK files -> PCK files in catalogues -> extracted TXT/XML files

    • Fixed BUG 004 : 'App crashes during loading when 'loading language strings' is displayed'
    • Fixed BUG 008 : 'Loading an already opened script results in a multiple documents being created'
    • Fixed BUG 009 : 'Filtering the script object lists displays results from the wrong groups'
    • Fixed BUG 010 : 'An apostrophe is appended to all strings when scripts are saved'

    Beta II (Update 3) - 9 May 2012
    • Added command line switch -reset : Removes any saved program settings that are potentially causing errors
    • Added command line switch -verbose : Outputs extra detail to the Console window and log
    • Temporarily enabled 'Verbose' mode by default to aid diagnosing problems on users' computers

    • Fixed BUG 005 : 'New script arguments are not actually created'
    • Fixed BUG 006 : 'Sometimes you cannot switch between documents'
    • Fixed BUG 007 : 'Variables switch places with each other after saving and loading a script'

    Beta II (Update 2) - 7 May 2012
    • Fixed Bug 004 : 'App crashes during loading when 'loading language strings' is displayed'

    Beta II (Update 1) - 6 May 2012
    • Fixed Bug 003 : 'App crashes when displaying the preferences dialog (if running app for the first time)'

    Beta II - 5 May 2012
    • Re-wrote entire program, bugs remaining but the framework is sound.
    • Language file editor and media browser temporarily disabled.


    Beta I - 16 May 2011
    • Complete script editor, language file editor and media browser.
    • Withdrawn for being too buggy.
Last edited by mr.bear on Sun, 26. Jan 14, 21:11, edited 53 times in total.
Rapunzel, Rapunzel, let down your bear...

User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER » Mon, 16. May 11, 19:00

Cool! I'll try it immediately.

Greetings,
ScRaT

EDIT: Unfortunately, I don't have X installed on my laptop (too weak), so I don't have the game executable installed, which seems to keep me from creating scripts (or doing anything at all - besides changing the preferences).
Would it be possible to make it not depend on the games executables, but only on the language files, types, etc.?

Btw: I use Windows 7 and so far (which isn't very far :) ) it looks good.
Last edited by ScRaT_GER on Mon, 16. May 11, 19:09, edited 1 time in total.

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Mon, 16. May 11, 19:05

I see, so you have the language file XML and the type file TXTs in a folder but you don't have the game itself installed? I just switched over from using that system to using live data at the weekend :) Figured people would think that was crazy.

If you're willing to use the appropriate sub-folders I could change the check from X3-TC.exe to:

t\0001-L044.XML
types\TDOCKS.TXT
types\TFACTORIES, LASER, MISSILE, SHIELDS, SHIPS, TWAREB, E, F, M and T

As a work around you could just put an empty text file called "X3TC.exe" into a folder and arrange the files above into the correct 't' or 'types' sub-folder. That would trick it. movies and sound wouldn't work, but i dont think it'd crash.
Last edited by mr.bear on Mon, 16. May 11, 19:31, edited 1 time in total.
Rapunzel, Rapunzel, let down your bear...

User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER » Mon, 16. May 11, 19:12

yay! my first victim....
Of course! I waited for this, since the Exscriptor development is somewhat halted at the moment.

I edited my above post.

Greetings,
ScRaT

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24949
Joined: Sun, 2. Apr 06, 16:38
x4

Post by X2-Illuminatus » Mon, 16. May 11, 19:27

Congratulations to the release. :thumb_up: The program looks really promising. Also thank you for including support for other languages than english. If you don't already have someone, I would offer my help in translating from english to german.

Some Feedback:

It seems your program cannot read from cat/dats. Which means you have to extract the types and t files to the appropriate folders to the game's main directory. Also it only accepts the compressed format .pck. I always get the same error when loading the types and language main file(s):

Code: Select all

Error Index 0, ID 21: 'loadFile() There was a system error while opening 'C:\Programme\EGOSOFT\X3TC\types\TDocks.pck'.  Cannot open file - access denied or file locked.'

Error Index 1, ID 1: 'loadGameFile(..) has encountered an IDS_FILE_LOAD_SYSTEM_ERROR error (ID: 0021) in Game Files.cpp, line 185'


It would be good, if the program either can read from cat/dats or would also accept the files in .txt format.
Also when opening the new script window and clicking on the blank, black field the program crashes immediately.

I'm using Windows XP Home 32 bit, btw.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten

Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)

Neuauflage der fünf X-Romane als Taschenbuch

The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Mon, 16. May 11, 19:39

@X2-Illuminatus : Thanks, I was planning to use Google Translate but a human being would be much better..

It does load the files from cat/dat:

If "C:\Programme\EGOSOFT\X3TC\types\TDocks.pck" isn't found then it will search the cat/dat for the file. Is there a real "types" folder in your X3TC installation folder? Can you try temporarily renaming it to <something.types> and see if that fixes the problem?

I only put this support in over the weekend so it'll still be buggy - I'll look into it.

mr. bear
Rapunzel, Rapunzel, let down your bear...

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24949
Joined: Sun, 2. Apr 06, 16:38
x4

Post by X2-Illuminatus » Mon, 16. May 11, 19:53

It does load the files from cat/dat:
Ideed. Sorry for the confusing. Works now. My somehow messed up and incomplete installation caused the problem. (The files are there, but in different cat/dats than in the original game and the first cat/dat was missing).
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten

Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)

Neuauflage der fünf X-Romane als Taschenbuch

The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!

User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER » Tue, 17. May 11, 12:53

If you're willing to use the appropriate sub-folders I could change the check from X3-TC.exe to:

t\0001-L044.XML
types\TDOCKS.TXT
types\TFACTORIES, LASER, MISSILE, SHIELDS, SHIPS, TWAREB, E, F, M and T

As a work around you could just put an empty text file called "X3TC.exe" into a folder and arrange the files above into the correct 't' or 'types' sub-folder. That would trick it. movies and sound wouldn't work, but i dont think it'd crash.
Unfortunately now I have the problem X2-Illuminatus described, since I have all game data completely unpacked (it is looking for the 0001-L044.pck, but I only have a 0001-L044.xml).

This weekend I can try it with a complete installation of X3:TC.

Greetings,
ScRaT

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Tue, 17. May 11, 13:55

I should have expected people to have a more varied setup of the game files. i'll change the way it reads the game data so it loads any unpacked .txt, .xml files first, then searches for packed .pck files.

mr bear
Rapunzel, Rapunzel, let down your bear...


User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths » Tue, 17. May 11, 14:54

mr.bear wrote:I should have expected people to have a more varied setup of the game files. i'll change the way it reads the game data so it loads any unpacked .txt, .xml files first, then searches for packed .pck files.

mr bear
You could just use DS's x3vfs library? I have some C# source that already handles the reading and management of these files using DS's libraries.
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Tue, 17. May 11, 16:15

@Logain Abler : Thanks man

@Roger Griffiths: yeah i'm using them at the moment but i find them a little confusing so i'm gonna use something else instead.

mr bear
Rapunzel, Rapunzel, let down your bear...

User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths » Tue, 17. May 11, 21:48

mr.bear wrote:@Roger Griffiths: yeah i'm using them at the moment but i find them a little confusing so i'm gonna use something else instead.
I can probably provide some assistance on that front, I am currently happily using them for Changeling and have designed a C# layer to provide my own VFS view of the game data. If you wish I could send you the classes relating to that layer and provide you with support to help you understand either my classes or DS's stuff?
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Tue, 17. May 11, 22:47

thanks roger that's a really kind offer! unfortunately the program is written in plain C, I don't even know any C# :cry:
but i spent yesterday looking at the compression algoritm and today wrote my own cat/dat file-system - problem solved!

mr. bear
Rapunzel, Rapunzel, let down your bear...

User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths » Tue, 17. May 11, 22:57

mr.bear wrote:thanks roger that's a really kind offer! unfortunately the program is written in plain C, I don't even know any C# :cry:
Not a problem. C# is not actually that bad a language to learn if you have a good foundation in C++ and/or Java. I have been using the Changeling project as an opportunity to learn C# (my background is in multiple programming languages including C/C++ and Java)
mr.bear wrote:but i spent yesterday looking at the compression algoritm and today wrote my own cat/dat file-system - problem solved!
(probably a stupid question) I presume that you have tested it and are aware that the CAT/DAT files are not pure compressed files?
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams

User avatar
mr.bear
Posts: 444
Joined: Sat, 11. Dec 10, 01:38
x2

Post by mr.bear » Tue, 17. May 11, 23:07

8) yeah, i tested it!! got it working pretty good, much more flexible than before, fast too.

mr. bear
Rapunzel, Rapunzel, let down your bear...

User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths » Wed, 18. May 11, 00:01

mr.bear wrote:8) yeah, i tested it!!
Kewl :D
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams

mark_a_condren
Posts: 1468
Joined: Wed, 3. Aug 05, 05:05
x3tc

Post by mark_a_condren » Wed, 18. May 11, 05:38

I gave this a blat round the block last night.

Overall, :thumb_up:

My system - XP sp3, X3TC 3.1 modified

My observations,

It took 3 goes to get a good download. The first time it only half downloaded :? , the second was a corrupt download :evil: , the third :thumb_up:.

Set preferences for my TC dir and it said (in popup box) it couldn't find a reference in my TDocks (news to me but good to know) . It then let me open what it had extracted so far, it didn't try to exract any more. Could it be set to keep extracting the rest even if it finds a problem? As a result of only a particial extraction of game files many things wouldn't work, which is understandable.

I then reset the preferences to a different install of TC and everything extracted fine.

Most things worked fine as far as i could tell. Scripts opened fine (i didn't try to edit any as yet, as you said the compiler was incomplete).

The tool tip for the call script worked, as did the other tool tips for commands with just the command name in them, but they worked, so no prob. However, it opens the tool tip in the bottom left corner covering much of the script display window. Could the tool tip window be setup so it can be relocated / dragged out of the way. I don't know if this is doable or not, or even set to the bottom right corner so it's more out of the way?

The media files all seemed to play ok, but i did notice that a lot of them had '<1 sec' even if they were longer. Many had the correct time / length displayed so i wondered if it was if the app couldn't determine the length it just defaulted to the '<1 sec' display.

Aside from the above, i found no glaring problems with it so far. I know it is still a work in progress and a lot of the functionality is still to be finalised.

Looking forward to giving the script editor a run when its up to speed.

My hat goes off to you sir for what you have accomplished so far.

EDIT:
I did also notice that in the script command list it shows the script commands that have now been depreciated and are no longer used in the current SE. I don't know if the current SE version still supports these commands and what would happen if they were used in the wrong version of the SE.

Is there a way of checking the SE version installed and only showing commands supported by that version?

MarCon

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts and Modding”