PDA

View Full Version : Function index tool


MatanH
11-11-2010, 07:22 PM
Function index (http://www.scriptspot.com/3ds-max/scripts/function-index) is a new tool that I have written in the last few days. I had develop a pretty complicated tool that relies on many pre existing structs that we have in the studio. I always had a hard time finding my way through all these structs. Thats when I got the idea for that small tool.

I would like to thank Denis Trofimov for his help with his brilliant assemblies that I found on this thread: http://forums.cgsociety.org/showthread.php?f=98&t=899696
Some real inspiring stuff there!

I think this tool can be very helpful to any max script developer out there, so take a look.
Let me know what you think :D

Matan.


EDIT:
Updates in version 0.3:
- Better function identification algorithm (thanks to Denis Trofimov).
- Resizeable UI.
- UI size and position ore now saved in the settings ini and restored.
- Added Current folder - get the function index of the current open script
even if it's not saved.
- Added Favorites folder - you can now add any script to your favorites.
- Settings ini file now stored in max scenes folder so that the settings will
be shared across max versions.
- Filter scripts option added.

Gravey
11-12-2010, 12:54 AM
correct me if i'm wrong but this sounds similar to how the 'Find in files' function of the mxs editor works (Ctrl+Shift+F). what's the advantage of your script over the built in function?

jonahhawk
11-12-2010, 02:17 AM
The big difference is that you can browse. Searching is only effective when you know what you are looking for.

This will help me cut down on redundant functions.

Thank you.

MatanH
11-12-2010, 06:13 AM
Gravey - as jonahhawk said, it helps especially when you are dealing with lots of big general structs of functions and you know that you might find some usfull functions in them, but you can't remember what is their name.

My tool also acts as a kind of auto-complete mechanism for functions as you can right click on a function and get it written in the editor for you, with all of it's parameters.

jonahhawk - thanks! let me know if you have any ideas on how to improve it..

plastic
11-12-2010, 07:17 AM
great stuff!

some ideas that come to my mind (not sure if first one is possible):

-) don't manually browse for script, but use the open script (tabs) in the msx editor...most elegant would be using a similar dotNet tab interface to switch between currently open scripts.

-) option to browse rollouts instead of functions.

-) resize-able window

-) persistent settings (for close & re-open)

MatanH
11-12-2010, 08:10 AM
plastic - thanks for the ideas.

-) don't manually browse for script, but use the open script (tabs) in the msx editor...most elegant would be using a similar dotNet tab interface to switch between currently open scripts.
I'm not sure exactly what you mean but if you click a function, it will automatically be open in a new tab if it wasn't open by then, and the selected function will be highlighted.
Can you give me some more details about that suggestion?

-) option to browse rollouts instead of functions.
Good idea, I also thought of giving an option to search for struct definitions and maybe even local / global variable decelerations.

-) resize-able window
Will do..

-) persistent settings (for close & re-open)
I already create an ini file on the firs lunch of this tool, and save a default root folder in it,
which by the way you can edit to point wherever you want. I'm planning to add some more settings into this file to be saved and restored every time the tool opens. Settings like it's position, size, current folder etc..

Cheers,
Matan.

plastic
11-12-2010, 08:56 AM
Hi Matan,

I'll try to be more clear... :)
I don't know if it's possible for a script to fetch all currently open scripts in the msx editor.
I'm sure DenisT knows how to do it with a single line :)
If it's possible, it would be cool to auto-sync the Function Index window with the MSX editor tabs on start:

http://666kb.com/i/boblj6j9xa6uoidit.png

The tab interface is easy, I can give you some code if you need it.


plastic - thanks for the ideas.
I'm not sure exactly what you mean but if you click a function, it will automatically be open in a new tab if it wasn't open by then, and the selected function will be highlighted.
Can you give me some more details about that suggestion?

Cheers,
Matan.

JHN
11-12-2010, 09:07 AM
I'd rather use the tab interface idea for something else:
tab1 : opened documents -> shows a list of currently opened docs and their functions
tab2 : a custom directory (like it is now), the root of a library for example, with subfolder recursing option!)
tab3 : bookmarked scripts, base lib files with stuff you daily use (rightclick any script and pick bookmark to add)

But other then that this is certainly a great tool and I will be using this!

Thanks,
-Johan

MatanH
11-14-2010, 07:11 AM
plastic - thanks for the extra detail!

JHN - some interesting ideas there, thanks.

I thought a bit about what you guys have suggested and I'm planning to add most of it to the next version which I hope that I will find some extra time to finish in the next few days..
I'll update when it's done..

MatanH
11-15-2010, 02:04 PM
As you can read on my first post here, I released the first update which includes:

Updates in version 0.3:
- Better function identification algorithm (thanks to Denis Trofimov).
- Resizeable UI.
- UI size and position ore now saved in the settings ini and restored.
- Added Current folder - get the function index of the current open script
even if it's not saved.
- Added Favorites folder - you can now add any script to your favorites.
- Settings ini file now stored in max scenes folder so that the settings will
be shared across max versions.
- Filter scripts option added.

check them out

CGTalk Moderation
11-15-2010, 02:04 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.