ETScript 3 - Download it now!


(Flippy) #41

Cool. I didn’t know that, I’ll give it a try!


(Flippy) #42

Alright I found a bit of webspace, might be making a website soon. For now, the readme pdf should be publicly available now here:
Readme (PDF)

If anyone can verify that you don’t need a password that would be great :slight_smile:


(Magic) #43

No password needed here


(Flippy) #44

Can anyone confirm for me if the Cut and Copy functions are working? I seem to have deleted them accidentally but I cannot remember when or why LOL… In my debug version they are no longer working, but I suspect the ‘accident’ happened after the release of 3.1 so it is probably still working with you guys… But I would like some confirmation hehe :stuck_out_tongue:
(I mean all the cut and copy functions, from the menu, toolbar, contextmenu (rightclick) and shortcuts…)

I noticed it when I was adding a new function… I came up with the idea myself although it probably already exists (although I’ve never heard of it). I called it the ‘Append to clipboard’ function.
The clipboard is basically the Cut/Copy and Paste functionality. If you cut or copy something, it is saved to the clipboard. If you use the Paste function, whatever is on the clipboard will be pasted.

The Append to clipboard function appends (adds) the selected text to the (possibly) already existing clipboard text.

For example, if you copied the word ‘hello’ into the clipboard (with Ctrl+C as usual) and then use the Append to clipboard function on the word ’ world’, the clipboard will now contain ‘hello world’ instead of just ’ world’. I know, pretty useless hehe! But I thought it was clever :stuck_out_tongue:


(TNR360) #45

Copy/Paste and Cut/Paste is working in 3.1

Mirrored-
http://tnr360.f-sw.com/ET-Script-3.php


(Flippy) #46

Thanks for the confirmation and the mirror!

I just fixed a slight issue with the ‘Show intel on…’ function (rightclick a scriptcommand in the script and select ‘Show intel on [command]’ to view the command’s description and usage in the Scriptcommand panel).
When the scriptcommand panel was undocked (in a seperate window) while you use this function, a second scriptcommand panel (docked in the main form) would appear.

I also have an important ‘question’. I am thinking about changing the design of the MDI functionality.

Right now, you can simply open multiple documents in seperate windows and you can move them about in the main form. Once you maximize a document however you can no longer see the other documents (because they are behind the maximized document) and there is no toolbar or something to inform you how many windows are open. I realize that this may not be ideal…

A different solution would be to use a tabbed MDI manager functionality, similar to how the tabs in Firefox or Internet Explorer work. A toolbar with tabs is shown at the top and you can switch between the documents by simply selecting a different tab. This way you can see which documents are open.
One drawback is that you can no longer move the windows about; they will always be maximized. This means you cannot put two scripts next to eachother…

I can implement the tabbed MDI functionality in seconds, but I just want to know what people think about this before radically changing the design. (I have tried, but I cannot make this an option you can change for your own preference. It’s one or the other unfortunately…)

I am trying at the moment to implement the tabbed MDI manager where you can view multiple scripts next to eachother aswell, but it is difficult and I don’t know if I can pull it off… What I had in mind was that you can simply drag the tab around and it will create a seperate ‘main window’ with seperate tabs.

Oh well I will see how far I can get with this…


(Flippy) #47

Well, good news (at least I think so)!!

I found some professional Tabbed MDI Manager control that does exactly what I described in my last post!
And I have already implemented it…

The MDI documents are now shown in tabs, just like in Firefox or Internet explorer. Clicking a tab switches the visible document.

As a bonus, you can simply drag the tabs with your mouse to where you desire. This way you can create what are called ‘TabGroups’, where you essentially have one tabgroup next to the other (horizontally, or vertically). You can manage multiple tabgroups simultaneously and this allows you to view multiple scripts at the same time, with a simple splitter-bar you can drag around to change their size.

Don’t understand? Check the following screenshot! This shows two tabgroups (horizontally) with three and two tabs (documents, scripts) respectively.

I think it looks nice!

There are some visual issues at the moment however; I hope to fix them soon but at the moment I have no idea what’s causing it… so be patient! :stuck_out_tongue:


(Pegazus) #48

Woah, nice job :smiley: I wish i could script so i could use this program :slight_smile: But the tabbed system is a great add :wink: keep up the good work.


(Flippy) #49

Thanks. Why not give it a try? You might find the Intellisense function especially useful if you’re a beginning scripter.

Anyways, I added two small features:

  1. You can now open multiple scripts simultaneously by simply selecting multiple files (hold the CTRL key) in the Open File dialog.
  2. You can use the ‘Save All’ function to save all open documents. If an unsaved (Untitled x) document is encountered, the usual Save File dialog is presented, and you can see the documents name (Untitled x) in the window’s titlebar.

I am also thinking about adding support for Shader files. Their code syntax is nearly identical so it would require little fundamental changes. However, I don’t know alot about shader coding so I will probably have to get into that again… I’ll also want to import the descriptions of each shader command just like the descriptions of the scriptcommands.
I could make it so the functions like Accumcount etc which only apply for scripts are disabled in ‘shader-mode’, and that the Intellisense list only shows shadercommands in ‘shader-mode’ and only scriptcommands in ‘script-mode’, but it will probably be alot of work… So don’t expect that soon hehe.


(Flippy) #50

I did some more work on the tabbed MDI and tabgroups: A few visual updates (looks nicer now imo) and I created my own Contextmenu (rightclick menu) which was (and still is) a right pain the *ss to do…

Rightclicking a tab now allows you to save the clicked document, or close the document, or close all but the clicked document. You can also quickly create a tabgroup (horizontal or vertical) which you can also do by simply dragging the tab.

Screenshots:
Contextmenu:


Vertical tab group:

I am also slowly adding support for shader files. It’s already possible to open and save them, and I am currently writing the Intellisense database for the shader commands. I am using the following reference for the commands: http://members.lycos.co.uk/quakeroats/q3map2/shader_manual/contents.html
Some descriptions are missing, but it’s the best I found… But it’s alot of work so I don’t know when I have that finished.

The idea is to be able to show a different Intellisense if you are editing a script file or a shader file; but a problem arises once you start a new file (since the program can’t know if you’re creating a script or shader file) so I will have to show both simultaneously, and I would like a way to distinguish between the two… Oh well, I’ll figure something out I hope ^^

Oh yeah last thing, I am also thinking about a way to finally finish the Bookmarking system. Right now it works, but it doesn’t work as I would like it to… The bookmarks don’t change if you edit your file, which makes them pretty useless in the beginning stages of your script. I think you can even crash the program by making a bookmark somewhere at the end and then deleting a couple of lines so the bookmarked line is no longer available…
So I’m working on that too, I would like the bookmarked lines to reflect changes in your script (eg, if you delete 3 lines, all bookmarks below that change move back 3 lines).


(Flippy) #51

Another (quite large) update!

First of all I have added further support for shader files (no Intellisense yet though). There is now an ‘Environment setting’ which you can set to ‘Script’, ‘Shader’, or ‘None’ which determines the overall preference for scripts or shader files. Basically, if the Environment setting is set to Script, when you want to open a new file, the Open File Dialog’s ‘Filter’ is set to ‘script’ files and the default folder is your etmain\maps path. If the environment setting is set to Shader, the Filter is set to shader files and the default folder is your etmain\scripts folder.
This is merely an example, it is very probably you wont even notice the difference, but that is the point… :slight_smile:

Secondly, I added a File Browser to the left. The File Browser is just a treeview containing your root ‘etmain’ folder and all its contents. You can browse through the files, open them by doubleclicking, rename, delete etc… You can use the contextmenu to expand / collapse all folders, or you can jump to the ‘maps’ or ‘scripts’ folder instantly.
You can hide and show this FileBrowser using the View menu, or with the new Toolbar buttons (also new buttons for the Scriptcommand panel and ErrorList).

The next update concerns scrolling: ETScript now supports Synchronized scrolling. Using the Window menu or the two toolbar buttons you can synchronize (lock) the vertical or horizontal scrolling (or both). This means that if you have several documents visible at the same time (using Tabgroups), they will synchronize their scrolling.

Lastly, I finally added File Associations. ‘.script’ and ‘.shader’ files are now associated with ETScript and will get ETScript’s icon. Opening these files directly from Windows will now open them in ETScript.

On a more technical note, it was previously possible to enter an empty or non-existing W:ET etmain directory. This is no longer possible.
If the path was in some strange way wrong in the previous versions, you could find yourself unable to open ETScript because it keeps asking you to select the path. I have fixed this bug, but in the case that it happens again in the future I have added a commandline argument ("-resetWolfPath") which resets the etmain directory before startup, causing ETScript to ask you for the directory again.

I also fixed a number of bugs and added some more visual updates (notice the flashy “x” buttons on the filebrowser, errorlist etc… They glow when you hover over them, hehe! :P)

Release of version 3.2 is not far away I think!

(Oh yeah, I’m also slowly working on a website :wink: )

Here’s a screenshot:


(Flippy) #52

Another update.

New stuff:

  • Small bug fixes

  • Improved icons:
    There are now the standard blue icons for script files, and green icons for shader files. The quality of the smaller icons is greatly improved (in the FileBrowser aswell) since I let windows rescale them before, now I rescaled them manually.
    Icons are fully Vista compatible. There are 256x256 icons for Vista and also 48x48 icons for XP and 16x16 icons for the FileBrowser.

  • FileBrowser, Errorlist and Scriptcommand panel can now all be docked and undocked just like you could dock/undock the scriptcommand panel before (but with a much nicer integrated button instead of the giant “UNDOCK ME NAW PLZ” button lol… :P)

  • Added a toolbar to the FileBrowser.

  • Added a toolbar icon for the QuickFind panel.

  • Improved the Errorlist:
    Error type (error or info) including icon, date/time and message are shown separately in a listview. I also made a lot more errors and messages use this control, there were only a few using it before making it pretty useless…

Screenshots:
Icons:

Undocked FileBrowser with new toolbar: