Anyone have the SDK for XSI version 1 to version 3?

Moderators: GSH, VSMIT, Commando

Post Reply
Col Klink
Sabre
Posts: 368
Joined: Fri Apr 15, 2011 8:24 am
Contact:

Anyone have the SDK for XSI version 1 to version 3?

Post by Col Klink »

I need to look at the SDK documentation associated with the XSI version that BZII uses. I'm attempting to create a Truespace based XSI version 1 - 3 export/import plug-in for Truespace. I have the SDK for TS version 6.6, 7.6 and 7.61. TS, supports several scripting methods including VB, JS, XML and PY. I have several TS plug-in developers that are willing to answer my questions based on my feedback to them in helping steer me in the right direction toward this project. Thanks in advance and feel free to post some links that I might browse to gather more information about XSI version 1 - 3. Question: Did XSI version 3 fully support BZII models or were there key changes to the format that makes version 1x a better choice?
Col Klink
Sabre
Posts: 368
Joined: Fri Apr 15, 2011 8:24 am
Contact:

Re: Anyone have the SDK for XSI version 1 to version 3?

Post by Col Klink »

Truespace 7.6x is pretty incredible and has 2 script editors built in to the softwares framework. The first is object oriented Python scripting. The second which appears more functional is the Link Editor interface and appears to support VB, JS, and XML scripting. I downloaded both MS VB and VC++ to attempt my XSI exporter plugin for Truespace 6 and or 7.6x. TS 6 uses TSX (DLL) based plugins while 7.6x uses the other methods.

The link editor is a general purpose interface that displays both workspace objects and scene information as well as a place to load RSOBJ scripts which are one of the methods of loading TS plugin scripts. I'm intriqued by the nature of these features. Intially, the scripts generate a dialog box with an orange square box that if you left click it opens the script editor window where you can view the script itself in text form. In some cases other dialog boxes appear; there can quite a few that make up the whole plugin group. Those in turn have scripts associated with each dialog box. I studied the scripts and they seem pretty easy to interpret as their all written in plain ASCII text format. Most refer to SDK parameters that are required to do things like write out information like tranformation data, UV coordinates, all the stuff associated with writing out object information for creating export plugins. It can save the scripts in XML, XLS, etc.

I also found an MS XML Notepad editor for viewing, creating and saving RSOBJ script files which should provide a method of modifying existing TS export scripts written for other export scripts like X, ASE, FBX, DAE, etc. All of them are modifiable. I may concentrate on the X export script as it shares a lot in common with the older XSI ASCII text format. I plan to learn as much as I can about this type of scripting by studying existing TS RSOBJ scripts and how to use the TS and XSI SDK documentation to eventually make my first script probably a simple dialog box with basic export functions. I have yet to find the actual SDK information for XSI version 1, but I believe Fish has a XSI information page with quite a bit of specific information on the format. I can use some assitance once I start the project by posing questions to BZII programmers familar with the XSI format and I'll post them as I begin doing some creation work. Thanks. PS: RSOBJ stand for RecordSetObject which sounds logical for use in creating things like scripts that execute operational functions like those used to create software based addons and plugins for programs that use such features like Truespace and others I guess.
User avatar
Nielk1
Flying Mauler
Posts: 2991
Joined: Fri Feb 18, 2011 10:35 pm
Contact:

Re: Anyone have the SDK for XSI version 1 to version 3?

Post by Nielk1 »

There is no API or SDK or any such thing for XSI to do this. That is not even what you need. What you need a format specifications/documentation. And the only way to get one of those is probably going to be from a hobbyist or your own hard work. Considering how BZ2 is using a limited subset of the XSI format with its own quirks, it is going to have to be YOU.

The format for BZ2 XSIs is RIDICULOUSLY simple when it comes to the raw visual mesh. If you want to actually do this instead of just talking about it and stating how great and fantastic TS is, then you might start with a little program called notepad and open an XSI yourself. People edit them all the time in notepad, so it is pretty damn simple.
User avatar
Warfreak
Rattler
Posts: 70
Joined: Fri Feb 25, 2011 12:51 am

Re: Anyone have the SDK for XSI version 1 to version 3?

Post by Warfreak »

Um, considering I'm staring at a backup of FishdotXSI I think its safe to say that we already have the specifications needed to construct plugins for any program, its just a matter of trial and error to correctly reference the in-program functions with the desired output (hence why OM has a "working" Blender plugin, it just isn't "finished").

Granted the info regards slightly newer functions that BZ2 does not use, it also offers explanation of the functions it does use and how they work, so an existing .XSI and said page would work wonders as to knowing what you would need. That being said I don't personally feel like learning MaxScript or any other wacky custom scripting to accomplish this. Python looks like a good bet though (Blender :P).

For those who haven't seen this before, feast your eyes (almost forgot Fishbone put it back up) Softimage XSI File Format v3.0 (and supplementary info on "outdated" and carried over functions)
Col Klink
Sabre
Posts: 368
Joined: Fri Apr 15, 2011 8:24 am
Contact:

Re: Anyone have the SDK for XSI version 1 to version 3?

Post by Col Klink »

Nielk1 wrote:There is no API or SDK or any such thing for XSI to do this. That is not even what you need. What you need a format specifications/documentation. And the only way to get one of those is probably going to be from a hobbyist or your own hard work. Considering how BZ2 is using a limited subset of the XSI format with its own quirks, it is going to have to be YOU.

The format for BZ2 XSIs is RIDICULOUSLY simple when it comes to the raw visual mesh. If you want to actually do this instead of just talking about it and stating how great and fantastic TS is, then you might start with a little program called notepad and open an XSI yourself. People edit them all the time in notepad, so it is pretty damn simple.
For now all I can do is talk about it with my limited knowledge. However, what I've discussed so far is doable as the model data is writable out of Truespace to a simple ASCII formatted text based format like that used by XSI 1x. In fact it's already been done by other people. To date I've got scripts for exporting ASE, FBX, and several other TS based plugins. The output parameters are based off of the TS SDK definitions. The key seems to be on how to translate the equivelents from TS based information to XSI fromat requirements; effectively just creating an XSI 1x compatible template. It appears that self.write functions are supported. If you think about it a bit the XSI layout is just a simple record set formatted specifically for BZII. I think if it were stritly binary output then the task would be nearly immposible for people like me.

Part of the problem is there appears to be a significant level of igorance about Truespace in general on this forum. Don't get me wrong, but I just need some feedback to help me sort it all out. Thanks for the feedback though every little bit of information is significant at this point; even the critism's.

The problem is compounded by my limited time to work on the issue at home. I have more time at work, but Windows ME (Leroy kicks himself for not upgrading to a newer PC) is so damn old that I can't even install Truespace 6 or 7.6x on my system to do any work on the project. I mostly search the web at work to find out more information that I can apply when I get home. I'm not really bragging about my abilties, but it does help when other people are willing to assist me when I quiry for feedback. This is just more or less a personal project that if successful will present another option for creating models and props for BZII. I'm also thinking that if an XSI exporter is possible then an XSI importer would logically follow.
Col Klink
Sabre
Posts: 368
Joined: Fri Apr 15, 2011 8:24 am
Contact:

Re: Anyone have the SDK for XSI version 1 to version 3?

Post by Col Klink »

Rather then recreate the same information in this post I have included a link to my modeling forum relating to my effort to create a customized BZII XSI exporter using the JS VB scripting utility built in to Truespace 7.x modeling software. The project is my personal project but I wanted to share this infomation with other people open to new BZII modeling concepts.

Truespace, is viewed by some people as a waste of time but those of us with open minds tend to gravitate towards new ideas. We examine the posibilities rather then squash free thought arbitrarily and welcome useful comments from other people. We frown on the nay sayers who freely offer useless feedback that leads to discouragement rather then hope. Anyways, here's the link to my article. Leroy's TS Link Editor Article.
Col Klink
Sabre
Posts: 368
Joined: Fri Apr 15, 2011 8:24 am
Contact:

Re: Anyone have the SDK for XSI version 1 to version 3?

Post by Col Klink »

Apparently, there are several TS SDK's from which Plugins can be created using various versions of Truespace. There's the original TSX type used by TS 6.x, then there's the SDK designed for use with TS 76, and a third final version designed for TS 7.6x the final version of TS before Microsoft bought out Caligari in 2009. Caligari released two variants after the original 7.6 version. The first was dubbed 7.61 Beta 8 which included various patches viewed as bugs; this version included TS 6 and 7.61 and the second release was dubbed 7.61 Rosetta Standalone as it lacked the version 6 modelside dual modeler software.

What I originally struggled with was trying to install and run 7.61 plugins and scripts under the unpatched 7.6; I kept getting run time errors because of changes made to 7.61 Beta 8 and 7.61 Rosetta. I just downloaded and installed 7.61 Beta 8 and the compatibilty errors disappeared all together.
I'm making the transition from 7.6 to 7.61 Beta 8. Now I have the option of using the SDK from both TS 6 and the newer SDK used by TS 7.6 and 7.61.

I recently installed Visual Studio C++ and Visual Basic 6 to get a handle on creating my BZII XSI exporter maybe an importer at a later time in the future.
I've been studying some existing J script exporters created by other TS users and feel that I may be able to modify one of these existing scripts for creating an XSI template specific to BZII requirements. I don't expect any rapid progress on this project as my level of programming knowledge is absolutely zero ATM, but I am in the process of searching for relevent sourcecode some of which I already have. The XSI information I currently have should be sufficient enough to get started on the project. Anyone interested in the project can keep track of the project @ Truespace BZII Custom XSI Exporter Project.
Post Reply