Freelancer Community Network
Reminder: Internet Explorer 6 or below are NOT supported.
HomeHome
ForumForum
WikiWiki
DownloadsDownloads
ForgeForge
Multiplayer Connection Tutorial
Collapse/Expand Random Image
Collapse/Expand Login
Username:

Password:

Remember me



Lost Password?

Register now!
Collapse/Expand Chat
Collapse/Expand Who's Online
43 user(s) are online (36 user(s) are browsing Forum)

Members: 0
Guests: 43

more...
Collapse/Expand Donations
Monthly costs: -30€
Income (ads): +5€
Donations (last month): +5€

Current balance: -85€
(last updated 11/2019)

Please make a donation if you want to help keeping The-Starport online:

Bitcoin address:
Thanks!
Collapse/Expand Links
Collapse/Expand Advertisement
There are currently 26 users playing Freelancer on 38 servers.
December. 13, 2019
The Starport Forum Index > All Posts (Treewyrm)

Bottom Bottom   Previous Topic   Next Topic

(1) 2 3 4 5 »


Re: The big .thn/.lua research thread
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
There is a simpler fix for lights textures, you just need a model to embed texture used by those light sprites (matching name too) and push it into scene so it'll load the resources and display those sprites.

Regarding paths I'd normally just make them in 3Ds MAX. But there isn't a readily available solution I'm afraid, so it's not like you can install it, make paths and grab em from there. For my own uses I've made a script to export spline knots and capture rotation of a dummy object to THN path key points.

Posted on: 11/15 16:34
Top
Topic | Forum


Re: The big .thn/.lua research thread
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Glad to be of help. Just keep in mind while most information here is correct a few things aren't, I simply never got around to correct them or to continue writing it.

Monitor is meta-object representing your viewport, your screen to put it simple. Switching between cameras is event of SET_CAMERA. You should have only one monitor object in scene.

Pretty much every color there is going to be RGB, however THN is inconsistent when it comes type of values: integers ranging from 0 to 255 or normalized floats from 0.0 to 1.0. Some properties expect integer, others expect float.

Regarding lights it's just a case of textures not loaded for some reason, so it defaults to plain white color which is then tinted to whatever sprite had for diffuse color.

Posted on: 11/15 13:43
Top
Topic | Forum


Re: The big .thn/.lua research thread
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Here is unfinished doc I was writing on THN stuff. If you want to continue from where I left off feel free to request writing rights.


Posted on: 11/15 11:40
Top
Topic | Forum


Re: OpenGL Rendering
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
TBN data could be put and spread across uv mapping vectors in VMeshData. FL materials don't use more than two uv maps, so six more channels as defined by FVF are free for the taking. Some quantization techniques could be employed to compress into fewer bits. Though if the cost of generating them on the fly isn't hitting performance it might not be as useful.

Posted on: 11/11 10:59
Top
Topic | Forum


Re: 3Ds MAX tools
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
A quick update. It is still in development.

Character animations. I was really curious about that given complete lack of .dfm tools. Ichiru helped to get initial mesh, after that I began digging into bone structures and finally animations which proved to be not so simple. Currently I only have importing functionality, but once most things there are put together exporting deformable models will be relatively simple to do.

Open in new window
Open in new window

Most work regarding rigid models is complete. CMP and 3DB are supported. Hitboxes (.sur) can be imported and exported as well, as closely as I can to match vanilla behavior (like parent parts duplicating hulls from fixed descendants in parent coordsys).

Open in new window
Open in new window

Materials use custom DirectX shaders, can be imported and exported (either separately or embedded into model files). At the moment only a few common types are implemented: various Dc* types, nebula, btdetailmaterial and nomadmaterial. Textures are automatically decompressed into Targa images and specific filename patterns can be used to indicate what format texture will be exported to when put into .mat file or embedded into model (requires Nvidia Texture Tools installed).

Open in new window
Open in new window

HUD wireframes can be created either by line objects with knots snapped to mesh vertices or by extracting visible edges (in 3Ds max Editable meshes have manual edge visibility).

Open in new window

A few additional tools were made to have starscape modeling much easier.

Getting pretty close.

Posted on: 11/4 15:23
Top
Topic | Forum


Re: 3Ds MAX tools
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Similar to other tools I've made visuals for hardpoint objects and displaying arcs for revolute hardpoints.

Each individual hardpoint can have its own display sizes, one for base and another for arrow + arc.

Open in new window

Posted on: 5/8 22:47
Top
Topic | Forum


Re: 3Ds MAX tools
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Necessary things for .sur.

Made simple but decent API for AABBs analysis and processing to tweak algorithm further and arrange BSP pairs intelligently, which is important for object parts with a lot of convex hulls.

Animated BSP traversal 1
Animated BSP traversal 2

Open in new window

p.s. Generation/processing is instantaneous, I've simply added delays and viewport refresh on every step for animation purposes.

Posted on: 4/21 12:01
Top
Topic | Forum


Re: 3Ds MAX tools
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Unfortunately, no. Different modeling software have different scripting languages and APIs used to create such tools. MAX has MaxScript, Maya has MEL, Blender uses Python and so on. I've picked 3Ds MAX over others simply because of personal experience.

Posted on: 4/6 11:03
Top
Topic | Forum


Re: 3Ds MAX tools
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Preliminary DFM import support

Open in new window

Posted on: 4/5 17:00
Top
Topic | Forum


3Ds MAX tools
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Hi again, im-not-dead-yet forum.

A few more things (actually lot more underneath, a lot of code rewritten and far less bugs and errors). Proper interface to interact with.

Attachable models like destroyed parts, guns, etc.

Open in new window

Open in new window

Open in new window

I'm kinda happy with importing routines and features so far, moving to getting exporting to work as nicely. Considering custom material shaders to replicate some of the special materials FL has.

Hopefully some beta soon.

Back to 3ds max stuff after a bit of fun in js.
Open in new window

Posted on: 4/3 0:06
Top
Topic | Forum


Re: about .ale editing
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline

Posted on: 3/14 17:36
Top
Topic | Forum


Re: Deformable2
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Had a few observations while parsing and digging through DFM recently.

Regular rigid compound model constraint data typically contains two strings of fixed length (64 bytes each) per each joint: parent and child object names. DFMs use spherical and loose constraints, but their header contains more than just two zero padded strings. With some it's pretty clear there are three strings: parent (64 bytes), child (24 bytes) and another child (40 bytes). Worth to note sometimes parent string contains some junk after nul terminator, but the layout of 64/24/40 for triple strings remains common across.

Perhaps biped skeleton for bodies and hands might be hardcoded elsewhere, perhaps in dll, and not contained within DFM but heads and nomad worm aren't, so they have to have custom rigging somewhere in the file.

Posted on: 1/7 14:38
Top
Topic | Forum


Re: Deformable2
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
DFM constraints header contains three names: parent (0x40), child (0x18), bone (0x28). Rigid compound hierarchies constraints only have two names for parent (0x40) & child (0x40). So reading DFM constraints list as you would rigid compound would yield only two names as you'd normally stop string at NUL terminator, and completely miss third one.

Posted on: 1/7 8:38
Top
Topic | Forum


Re: Questions about SUR format
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Thanks for the code.

The benefit of having it in MAX is fairly simple - coherent development pipeline. I've initially started the toolkit to import and export models, not just meshes but proper hierarchy, constraint types, hardpoints, HUD wireframes and more which existing tools do not cover or only partially and never to extent the formats permit. I have custom objects and properties (which are persistent, so they're saved into scene files) to facilitate entities special to Freelancer. Naturally I'd like to add support for SUR, not just importing but exporting as well. There are many obvious benefits to this as everything remains within single software, and everything can be manipulated by wide array of native instruments available to 3Ds MAX user, not to mention countless popular third-party plugins to satisfy all modelling needs for Freelancer formats. Of course the price of any tight integration is portability. Initially I had worked on Collada converter but quickly realized its support varies greatly between modeling software to such extent that common denominator dataset is barely able to cover minimal support I seek.

So far I'm making slow but steady progress, adding early support for DFM while rummaging through landfill of C:FW source code to pick up anything applicable to FL.

Posted on: 2018/10/8 12:52
Top
Topic | Forum


Re: Questions about SUR format
Not too shy to talk
Joined:
2010/8/27 14:02
Group:
Registered Users
Posts: 69
Offline
Minor improvement for importing:

Open in new window

Reworked .sur importing, so that only parts and hardpoints present in model have their hitboxes meshes constructed and attached.

HUD wireframes (VMeshWire/VWireData) are loaded and are going to be exported as well.

On a side note about vertex normals and smoothing groups. Normals can be can be imported and assigned explicitly, but that has several drawbacks, so I've made it optional feature. Smoothing groups cannot be restored back from explicit normals and they remain unaffected by smoothing group you'd set their faces to (kinda obvious). I think what I can do is to export smoothing groups into custom UTF entry (let's say VMeshSmoothingGroups alongside VMeshData, which the game will ignore) but importer will recognize and restore those.

Animations are going to be major headache. They have no direct equivalent in 3ds max animation system, being far simpler and restrictive. Approximating it to max motion controllers might do for importing, but exporting that into FL's animation isn't going to be simple.

Coincidentally if anyone have a good idea what all those flags in compound animation scripts do it would help greatly. There's only so much I can pull from junk pile that is C:FW source code, and even that might have changed for FL.

Posted on: 2018/9/28 12:34
Top
Topic | Forum



Top Top
(1) 2 3 4 5 »



[Advanced Search]