Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

Creating "Station Building Blocks" - is it possibl

The general place to discuss MOD''ing Freelancer!

Post Thu May 27, 2004 12:18 pm

Creating "Station Building Blocks" - is it possibl

Hello,

This just concerns the cosmetics of the game; that's not something that has anybody's interest, but it bothers me that there's so little station archetypes to chose from. And I wondered if it would be possible to break down the bases and create some kind of "Station Building Blocks", just like the space_habitat_wide and space_habitat_tall towers that can be added to stations.

I think it would be nice to have much wider variety of such satellites. For instance, the tower that is on top of the space_freeport01 archetype, or the inhabited disc that's on this archetype.

Let's stick to the example of space_freeport01. The 3d-model of this archetype is contained in space_freeport01.cmp. When I opened up this file with the UTF editor, I had hoped to see the nodes referring to parts making up this archetype.

In that case, deleting all nodes except for the tower, saving the cmp-file as, for instance, space_tower.cmp, and creating a new satellite in SolarArch.ini, would have been the thing to do.

But the fact is, that I don't really have an idea what the nodes in space_freeport01.cmp contain.

Does anybody have any thoughts on this? Would it be possible, with just using the UTF editor (and of course editing the accompanying ini-files) to break stations down into basic building blocks? Or would that unavoidably involve using Milkshape?

If this would be posible one way or another, then a whole set of satellite towers and add-ons could be created, which could be used by all modders.

Post Thu May 27, 2004 2:30 pm

i tried that same idea before.....but of course i am not the greatest modder...but i could find no wat to do what you are saying without using milkshape or 3dmax.....*sigh* but i love the idea.....maybe someone could make a tool for doing so?

Post Thu May 27, 2004 4:05 pm

Hey Moonhead. The shipyards (for example) are certainly put together as you wish to do it... The actual .cmp/.3db is just the bit you land at... The big 'tubes' are bolt-on bits that can be modded, swapped for the 'greenhouse' sections from freeports etc (HpModule is where they attatch). If your feeling brave however my friend, then fire up milkshape and make us some new module goodies Looking at the ringworld mod (i forget who made this) it's possible to make some fairly original designs. You could also try manually adding HpModule nodes to bases without them in UTF Editor and see what else you can devise

Post Fri May 28, 2004 11:33 am

Dark_Shadow2004, Anton,

I have no experience at all with MilkShape, or any 3D-editor. I am curious enough to pick it up (I already have downloaded the Milkshape tutorial) but my time is limited so progress will be small.

As far as my very limited and purely theoretical knowledge (I read some threads on ship editing) goes, am I correct that the collision data is contained in the still unknown and undecoded sur-format? If so, would that mean that the collision data for the archetype object that would be created in Milkshape, would have to be a renamed copy of an existing archetype?

Anton, thanks for the tips, but - this illustates my amatureness - the HpModule node only contains two leaves, Orientation and Position. Where is the reference to the 3db object (the "tube" that is 'glued' to the landing section? And where is that 3d object itself actuallly stored? (If the answer to the 2nd question is "in the VMesh section", than I would have a very long way to go.)


EDIT: Milkshape says I registered after it has expired, and to be able to save my work, I have to go to a website that doesn't exist anymore. Reinstalling and reregistering don't help. So, until I find a new version, I won't be learning Milkshape at all. (This reminds of a strange story a friend of mine once told me. He was experiencing a similar problem and then he suddenly found an install-file of the latest version and the registration code in his mailbox. Very strange! )




Edited by - moonhead on 5/29/2004 12:40:34 AM

Post Fri May 28, 2004 11:50 pm

Moonhead,

the HpModule is the connection point of those tubes you are talking about... the Position and Orientations are self-explanatory....


a message from firebase...

Post Sat May 29, 2004 12:25 am

The 'bolt-on' bits are put there in the system's ini file (e.g Li01.ini) I'm told that you can check their positions in FL Explorer to save all the position/load/oh for f**ks sake still a bit to the right/reposition etc

Post Sat May 29, 2004 1:09 am

Sun Striker, Anton,

Forgive me for not really comprehending the significance. (In Dutch we have an expression "The coin has fallen", probably derrived from machines where you have to insert a coin; sometimes you have to try a few timnes before the machine gets your coin - the coin has fallen As a proverb, it is used to tell whether or not someone has understood the essence of something. Well, regarding this matter, the coin still hasn't fallen for me )

This is my reasoning: if the tubes are put-on in System's ini-file, then it is totally irrelevant whether otr not there is a hardpoint or not. You can attach any archetype to any other archetype by using the parent = line. The position and orientation of the added item are simply set in the system's ini-file:


[Object
nickname = Li01_07_shipyard2
pos = 48190, 103, 5328
<-- here
rotate = 0, 130, 0
<-- and here
Archetype = shipyard
visit = 0
parent = li01_07

[Object
nickname = Li01_07_shipyard3
pos = 47856, 103, 4950
<-- and here
rotate = 0, 130, 0
<-- and here
Archetype = shipyard
visit = 0
parent = li01_07



So what is the significance of a connection point in the 3db-file? You can also 'glue' the tubes to another point on the space_factory01that is the core of Norfolk Shipyard. It would make sense to me if the whole shipyard would be handled in the system's ini-files as if it were 1 single archetype, but it isn't.

(Btw, I am certainly not arguing that you are wrong, but just try to describe the limitations of my understanding)

Post Sat May 29, 2004 1:16 am

I think the hardpoint is there to select the base to dock - i.e. you can click on the 'tube' and still select the main base to dock with

Post Sat May 29, 2004 1:49 am

Anton,

The docking is also automatically arranged through the parent = line; you can do that with any archetype (so that still doesn't clarfiy the significance of the HpModule to me).

If you add, for instance, a depot archetype to a large station (it doesn't even have to have physical contact, just a parent = line, referring to the large station) then if you click on the depot, you will select the large station.

You can even do weirder things: make the depot not a "child" of the large station, but a 'semi-autonomous' docking place referring to the base at the station:



[Object
nickname = Cr01_Samarkand
ids_name = 458961
pos = 0, 0, 0
rotate = 0, 45, 0
Archetype = outpost
ids_info = 458961
base = Cr01_Samarkand_Base
<-- the central base; this line has to be unique
dock_with = Cr01_Samarkand_Base
voice = atc_leg_m01
space_costume = pi_pirate2_head, sam_male_body, prop_neuralnet_B
visit = 1
reputation = nf_sam_grp
behavior = NOTHING
difficulty_level = 1
loadout = trading_outpost_li_01
pilot = pilot_solar_hardest

[Object
nickname = Cr01_Samarkand_Depot_NW
ids_name = 458961
pos = -100, 200, -100
rotate = 0, 45, 0
archetype = depot
loadout = space_port_dmg_pi_02
ids_info = 458961
dock_with = Cr01_Samarkand_Base
<-- dock with central base
voice = atc_leg_m01
space_costume = pi_pirate2_head, sam_male_body, prop_neuralnet_B
visit = 32
reputation = nf_sam_grp
behavior = NOTHING
difficulty_level = 1
pilot = pilot_solar_hardest

[Object
nickname = Cr01_Samarkand_Depot_SE
ids_name = 458961
pos = 100, 200, 100
rotate = 0, 225, 0
archetype = depot
loadout = space_port_dmg_pi_02
ids_info = 458961
dock_with = Cr01_Samarkand_Base
<-- dock with central base
voice = atc_leg_m01
space_costume = pi_pirate2_head, sam_male_body, prop_neuralnet_B
visit = 32
reputation = nf_sam_grp
behavior = NOTHING
difficulty_level = 1
pilot = pilot_solar_hardest



That way, you can have more ways to dock at a custom station. The above example is actually much bigger, with 3 or 4 levels of docking spheres, which are all used by the NPCs I put around the base. It's quite cool to fly around it; it has the ambience of a very busy harbour.

Note that the added parts do not have a base = line. If you add one, the game crashes. (This is not surprising, as there would be potential conflict when departing from a base.)

Btw, when you leave such a composed station, you will leave from the main base, not from the dock where you landed.


The disadvantage of composing a station this way, is that it is less esthetically on your radar and nav map. The dockable items all show up on the radar and nav map, and will also have their own 'brackets' when selected (and these will not show their name, just "Zoners base" or something similar). Adding a visit = 128 line to the added items, or even completely omitting the ids_name = line, is hardly a solution because then it says "unknown object" on your radar, which sucks (it does clear up the nav map though). Creating a new unique ids_name, saying e.g. "eastern dock" might be the esthetically most preferable solution, although that still messes up the nav map (when names overlap, only 1 of them displays and there is no control over what name shows up).


PS Anton, I found your e-mail, thanks! i should look more often in that yahoo-box :0


Edited by - moonhead on 5/29/2004 3:07:39 AM

Post Sat May 29, 2004 3:05 am

Well, you can make them disapear from the navmap :
Just make an new base navmap representation.
They are stored in :
DATA\INTERFACE\NEURONET\NAVMAP\NEWNAVMAP\SPACEOBJECTS
You can extract a texture from one (in tga) and take a look at what it's like.
Then, copy an existing and rename it to something like nav_invisible.3db and import in an empty tga.
But the problem is that i don't know where they are referenced...

But the name will still appear in the navmap.
You can fix it by deleting it and puting everything in the ids-info.

As you can see, it's not realy a solution , but i hope that will help !

Post Sat May 29, 2004 3:20 am

Archangel,

Creating an empty nav-shape is a good idea. I will try them out as soon as I start up another seesion.

Maybe just having a one-space ( " " ) as ids_info is the best (least bad) solution for the name problem. There will be a lot of empty entries on the radar though... Would be nice to find out if there's a visited-code that lets stuff appear on the radar and not on the navmap. In general you can do that to recreate the archetype as a type = MISSION_SATELLITE but in this case that would eliminate the possibilty to dock.

Edited by - moonhead on 5/29/2004 4:32:13 AM

Post Sat May 29, 2004 4:01 am

Have you tried this :
visit = UNKNOWABLE

I've found it in the mission 1b file, under the pirate base entry.

Post Sat May 29, 2004 4:13 am

Interesting! I didn't even know that was a psooible value. Actually I have never looked into the mssion files, as I've never played SP. Will try that one too.

Post Sat May 29, 2004 4:36 am

Er... i've tried and it seems to don't work.
I've done it with a planet and a station, and it was always on the nav map.
Of course, the station and the planet were new ones.
Maybe there is something to do in the knowledgemap.ini, in the INTERFACE folder...

Post Sat May 29, 2004 5:55 am

I think -but haven't tried it out- that knowledgemap.ini is a way for the game to dynamically attribute visit = values to the player, so that it would come down to a particular visit = vakue that could also be directly edited in the System's ini-file. But as i said, I haven't tried out anyhting, and I'd like to see my assumption to be proven wrong, so try it out if you like.

(The reason I'm not actively trying things out right now, is that I am restructuring all ids-names and ids_infos in my mod, which means creating a new custom dll file (which was becoming a mess) and correcting all the ids_name and ids_name values in the ini-files. Have no idea how long this is gonna take, I think days.)

Return to Freelancer General Editing Forum