I spoke with David again on the IRC and he gave me several links. To save some time, here's the entire chatlog, including some information he gave me as well. Hope this helps, Korban.
Edit: look to bottom for all the useful quotes.
19:39 Dequire Afternoon, David. Remember me from before, about the Black Shades modding?
19:43 david sure, what's up?
19:43 Dequire I hate to bother you again, but I was wondering if you had left anything laying around about the Black Shade's source code. Korban3 is working with the scripting, but we haven't made any progress due to a lack of knowledge of the source code.
19:44 Dequire We're trying to set up an import/export script for it.
19:45 Dequire I'm doing the modeling, but, I can't do much. I use Blender, and sadly there doesn't seem to be anything Black Shades related around that can help much. Anything regarding the source code would sincerely help.
19:46 david The source code should all be here in the svn:
http://www.icculus.org/blackshades/
19:46 david
http://svn.icculus.org/blackshades/trunk/
19:46 Dequire The source code itself we have. We just don't understand it. Is there anything laying around that could help us get a handle on it?
19:47 david hmm
19:47 david I don't think so
19:47 david the part you care about is probably Model::load for the model format right?
19:49 Dequire That would be a great start, yes. I'm trying to get a hold of an import/export for the .solid format for Python. There was one laying around for Lugaru, but it didn't seem to work out correctly.
19:50 david well here is the Model.cpp :
http://svn.icculus.org/blackshades/trun ... iew=markup
19:51 david it has the Model::load function
19:52 david basically it reads the number of vertices (2 bytes), number of triangles (2 bytes), then the vertices (3 floats of 4 bytes each), and then the triangles
19:53 david
http://svn.icculus.org/blackshades/trun ... iew=markup
19:53 david the details of the data types are in that one
19:54 david so each triangle starts with 3 vertex indices(2 bytes each), 1 byte of padding, then the red/green/blue color (3 floats of 4 bytes each)
19:55 david not sure if that is helpful at all
19:55 Dequire Personally, I know next to shit about coding. I'm leaving that up to Korben, despite how unfair it seems on my part. If I could I'd be trying to help. If you don't mind, I'd like to copy/paste this to the forums topic for all the links/information.
19:55 david sure, sounds good
19:56 Dequire Thanks. I appreciate it.
19:56 Dequire Hopefully I won't have to bother you again.
http://svn.icculus.org/blackshades/trunk/ (Source)
http://svn.icculus.org/blackshades/trun ... iew=markup (Model.ccp/Model::load function))
basically it reads the number of vertices (2 bytes), number of triangles (2 bytes), then the vertices (3 floats of 4 bytes each), and then the triangles
so each triangle starts with 3 vertex indices(2 bytes each), 1 byte of padding, then the red/green/blue color (3 floats of 4 bytes each)
http://svn.icculus.org/blackshades/trun ... iew=markup (Datatype Details)