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

Everthing you Ever wanted to know about Ships.

The general place to discuss MOD''ing Freelancer!

Post Fri Feb 28, 2003 8:15 pm

Everthing you Ever wanted to know about Ships.

.mat = material library (the texture)
.cmp = weapons hardpoints (where the guns are)
.3db = ships model (it's a 3d studio max format btw)
.sur = collision information ( the box around the ship that allows you to get hit)


LODranges = ships sensor ranges (near as I can tell anyways. could be wrong)

Cockpits = all stored in .ini files under cockpits of you Freelancer game.(you can change the cockpit styles and it doesn't effect the ship model. You can adjust the turrent camera here and also create a cockpit moveable camera here.

ship_class = The type of ship it is. (0=light fighter 1=elite fighter 2=freighter 3=very heavy fighter)
nick_names = tags for programers (ship_class and nick_names line up)

There are 3 material maps on every ship. not just one. there is the ships material, the fx material and the env_material map(makes that cool shine on your ship)

linear_drag = how long it takes to stop

max_bank_angle = how hard it can turn (you freighter turns to slow, you fix that here)

nanobot_limit = how many you can max hold
shield_battery_limit = how many you can max hold


You trailing defaulted camera is different for each ship
camera_offset = 7, 33 (how far back and up it sits)
camera_angular_acceleration = 0.050000 (how fast the camera will move to the ship)
camera_horizontal_turn_angle = 17 (maximum distance it will float to the left/right)
camera_vertical_turn_up_angle = 5 (maximum distance it will float up)
camera_vertical_turn_down_angle = 25 (maximum distance it will float up)
------------------the up and down are seperate because of the offset above--------
camera_turn_look_ahead_slerp_amount = 1.000000 (how sticky the camera is to the ship)

hit_pts = ships hit points

not gonna get into all the hardpoint data as we are not far enough to bring in converted models just yet, but it's all under hp_type. (weapons and shields)

[CollisionGroup <-----------stay out of that for now--------------(it's a duh anyways)



Hope this helps some folks that understand it.

Post Fri Feb 28, 2003 8:38 pm

MY GOD... we got a nice little start going here, considering the game ain't even out yet! I love you guys!

OH SNAP! OK, hows aboot this:

camera lags to 0 + joystick mouse control software = classic space sim mode? Maybe?

Sorry to bring the "J" word into your post man... I won't dwell on it... just a thought.

Edited by - Deviant on 28-02-2003 20:44:10

Post Fri Feb 28, 2003 8:56 pm

you got me a bit confused there...
3db a 3ds max format? huh?

Post Fri Feb 28, 2003 9:17 pm

yep. i know. 3ds is the format for 3dstudio max, but the 3db really is a 3ds formatted 3D file. DA even said so. Looking like mad for my 3ds disk cause I formatted the computer last week. Now I cannot find my disk lol

Post Fri Feb 28, 2003 9:57 pm

as far as i remember (and that would fit with what HCl said) it's encrypted...

Post Fri Feb 28, 2003 11:02 pm

yea, i too am thinking it is a bit. However, the ships seem to have been handled alot like our ole starlancer shp files were. Should take nothin to reverse engineer it.

Right HCI? /emote poke

Post Fri Feb 28, 2003 11:22 pm

i think they may even be just simple encrypted 3ds/max files...
HCl said he allready done had a little bit of research into it....

can't wait until we can import our own ships

Post Fri Feb 28, 2003 11:26 pm

aye.


my only downside is that i have to goto work in about 3 more days. wont be home to model/code till april 3rd.

Post Sat Mar 01, 2003 12:09 am

engine_equip.ini<pre><font size=1 face=Courier>[Engine
nickname = ge_pfr_engine_01 ;Pirate Freighter - the Muel
ids_name = 263701
ids_info = 264701
volume = 0.000000
mass = 10
max_force = 60000 ;48000
;formula for velocities/forces,
;where m is distance in meters and f is the outcome force, m * 600 = f
;72,000 is 120m/s, 60,000 is 100m/s, 48,000 is 80m/s
linear_drag = 599
power_usage = 0
reverse_fraction = 0.333333 ; 0.200000
flame_effect = gf_co_smallengine03_fire
trail_effect = gf_co_smallengine03_trail
trail_effect_player = gf_co_smallengine03_playtrail
cruise_charge_time = 0.1 ;1
;setting it this low pretty much eliminates cruise charge time,
;still takes time to get to stop speed, speaking of which...
;where the hell IS the cruise speed?
cruise_power_usage = 20
character_start_sound = engine_pi_freighter_start
character_loop_sound = engine_pi_freighter_loop
character_pitch_range = -50, 25
rumble_sound = rumble_pi_freighter
rumble_atten_range = -5, 0
rumble_pitch_range = -25, 25
engine_kill_sound = engine_pi_freighter_kill
cruise_start_sound = engine_bw_cruise_start
cruise_loop_sound = engine_bw_cruise_loop
cruise_stop_sound = engine_bw_cruise_stop
cruise_disrupt_sound = cruise_disrupt
cruise_backfire_sound = cruise_backfire
indestructible = false
outside_cone_attenuation = -3
inside_sound_cone = 60 ;distance in meters
outside_sound_cone = 180 </font></pre>
shiparch.ini<pre><font size=1 face=Courier>[Ship
ids_name = 237046
ids_info = 66591
ids_info1 = 66592
ids_info2 = 66608
ids_info3 = 66593
ship_class = 2
nickname = pi_freighter
LODranges = 0, 60, 120, 1000
msg_id_prefix = gcs_refer_shiparch_pirf
mission_property = can_use_berths
type = FREIGHTER
DA_archetype = Ships\corsair\co_freighter\co_freighter.cmp
material_library = ships\corsair\co_ships.mat
material_library = fx\envmapbasic.mat
envmap_material = envmapbasic
fuse = intermed_damage_smallship01, 0.000000, 550
fuse = intermed_damage_smallship02, 0.000000, 275
fuse = intermed_damage_smallship03, 0.000000, 183
max_bank_angle = 15
camera_offset = 10, 47
camera_angular_acceleration = 0.035000
camera_horizontal_turn_angle = 20
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 20
camera_turn_look_ahead_slerp_amount = 1.000000
nanobot_limit = 100 ;15
shield_battery_limit = 100 ;15
hit_pts = 10000 ;2200
cockpit = cockpits\corsair\corsair_freighter.ini
pilot_mesh = generic_pilot
mass = 300.000000
linear_drag = 1.000000
hold_size = 3000 ;90
explosion_arch = explosion_co_freighter
;fuses added where damaged on ship
surface_hit_effects = 0, small_hull_hit_light01, small_hull_hit_light02, small_hull_hit_light03
surface_hit_effects = 150, small_hull_hit_medium01, small_hull_hit_medium02, small_hull_hit_medium03
surface_hit_effects = 300, small_hull_hit_heavy01, small_hull_hit_heavy02, small_hull_hit_heavy03
;'frog-ass' handling (so tight, it's water-tight!)
steering_torque = 6000.000000, 6000.000000, 6000.000000 ;54000.000000, 54000.000000, 104000.000000
angular_drag = 4500.000000, 4500.000000, 4500.000000 ;60000.000000, 60000.000000, 60000.000000
rotation_inertia = 1200.000000, 1200.000000, 1200.000000 ;16800.000000, 16800.000000, 16800.000000
nudge_force = 30000.000000
strafe_force = 30000 ;20000
strafe_power_usage = 5 ;2
bay_door_anim = Sc_open baydoor
bay_doors_open_snd = cargo_doors_open
bay_doors_close_snd = cargo_doors_close
; from here on down, HP means 'hardpoint'
HP_bay_surface = HpBayDoor01
HP_bay_external = HpBayDoor02
shield_link = pi_freighter_shield01, HpMount, HpShield01
;all this is modded, didn't record the origional
; just made all the mounts on it take all level 10 weps
; wanna try mixing hp_gun_special_ & hp_turret_special_ on the same hardpoint
hp_type = hp_gun_special_10, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_9, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_8, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_7, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_6, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_5, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_4, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_3, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_2, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_gun_special_1, HpWeapon01, HpWeapon02, HpWeapon03, HpWeapon04
hp_type = hp_freighter_shield_special_10, HpShield01
hp_type = hp_freighter_shield_special_9, HpShield01
hp_type = hp_freighter_shield_special_8, HpShield01
hp_type = hp_freighter_shield_special_7, HpShield01
hp_type = hp_freighter_shield_special_6, HpShield01
hp_type = hp_freighter_shield_special_5, HpShield01
hp_type = hp_freighter_shield_special_4, HpShield01
hp_type = hp_freighter_shield_special_3, HpShield01
hp_type = hp_freighter_shield_special_2, HpShield01
hp_type = hp_freighter_shield_special_1, HpShield01
hp_type = hp_thruster, HpThruster01
hp_type = hp_mine_dropper, HpMine01
hp_type = hp_countermeasure_dropper, HpCM01
hp_type = hp_turret_special_10, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_9, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_8, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_7, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_6, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_5, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_4, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_3, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_2, HpTurret01, HpTurret02, HpTurret03, HpTurret04
hp_type = hp_turret_special_1, HpTurret01, HpTurret02, HpTurret03, HpTurret04
HP_tractor_source = HpTractor_Source
num_exhaust_nozzles = 2 </font></pre>
st_equip.ini<pre><font size=1 face=Courier>[Thruster
nickname = ge_s_thruster_04 ;Advanced Thruster
ids_name = 263740
ids_info = 264740
DA_archetype = equipment\models\st\ku_thruster.3db
material_library = equipment\models\ku_equip.mat
HP_child = HpConnect
hit_pts = 8000
explosion_resistance = 0.500000
debris_type = debris_normal
parent_impulse = 20
child_impulse = 80
; I have only a slight idea what these two impulses are
volume = 0.000000
mass = 10
max_force = 594000 ; 72000
;990m/s, as high as the in-game meter can show
particles = gf_br_largeengine01 ;gf_ge_s_thruster_01
; hehe .. looks funny on a sabre, still cool tho
hp_particles = hpthrust
power_usage = 0 ; 125
;400 or greater should be more 'appropriate'
; but I'm just using this for fast travel
lootable = true
separation_explosion = sever_debris
LODranges = 0, 20 </font></pre>

Where in the hell is the cruise speed kept? I've been looking everywhere for it!

Post Sat Mar 01, 2003 12:37 am


yep. i know. 3ds is the format for 3dstudio max, but the 3db really is a 3ds formatted 3D file. DA even said so. Looking like mad for my 3ds disk cause I formatted the computer last week. Now I cannot find my disk lol


Eh, how do you import them then ? If I simpely rename a 3db to 3ds and try to import it, 3ds max (5.1) gives an error pop-up: 3DSIMP; Invalid file
And then : Import; Improper file format.

HCl

Post Sat Mar 01, 2003 12:48 am

Well, 3db files are in UTF format (i'm naming them that since the files start with the string "UTF " ) however these formats (used in files with extension UTF, 3DB, CMP, TXM, MAT, ALE, VMS, DFM, and maybe some more i've missed ) seem to include inside themselves other file types.. For example, *.utf files seem to have *.wav files, which i've ripped successfully, they don't seem to be encrypted in any case. I'm currently examining these utf files in great detail

Also, the files included inside 3db may very well be 3ds or max files, although i haven't been able to open these sucessfully in 3D Studio Max. It may be a variant, or simply i may need to take into account data from other sections of the file. Again, i still don't know much, but i'm investigating. As soon as i know anything, you guys will be the first to know

Mario

Edited by - HCl on 01-03-2003 00:48:48

Post Sat Mar 01, 2003 12:55 am

thanks for the update
a wav file? how does it sound?
If you need any help (reference files for example), just ask

Post Sat Mar 01, 2003 1:28 am

your cruise speed is located in the constants.ini file is I am not mistaken.

Post Sat Mar 01, 2003 2:20 am

constants.ini<pre><font size=1 face=Courier>[Constants
COLLISION_DAMAGE_FACTOR = 0.500000
MUSIC_CROSS_FADE_DELAY = 10.000000
MUZZLE_CONE_ANGLE = 40
PLAYER_COLLISION_GROUP_HIT_PTS_SCALE = 3
PLAYER_ATTACHED_EQUIP_HIT_PTS_SCALE = 5

[EngineEquipConsts
CRUISE_DISRUPT_TIME = 5
MAX_DELTA_FX_THROTTLE = 0.250000
THROTTLE_STEADY_TIME = 0.500000
THROTTLE_ATTEN_MOD_RANGE = 8.000000
DELTA_THROTTLE_ATTEN_MOD_CHANGING = 8.000000
DELTA_THROTTLE_ATTEN_MOD_STEADY = -1.000000
CRUISE_STEADY_TIME = 2.000000
DELTA_CRUISE_ATTEN_MOD_STEADY = -1.000000
CRUISE_ATTEN_MOD_RANGE = 8.000000

[ShieldEquipConsts
HULL_DAMAGE_FACTOR = 0.500000

[PhySysConsts
MATERIAL_FRICTION = 0.100000
MATERIAL_ELASTICITY = 0.900000
DEFAULT_LINEAR_DAMPING = 0.500000
DEFAULT_ANGULAR_DAMPING = 0.200000, 0.200000, 0.200000

[CommConsts
COMM_PLAYER_FAR_DIST = 6000.000000
COMM_PLAYER_FAR_DIST_ATTEN = 0.000000
CHATTER_MAX_DIST = 3500.000000
CHATTER_MAX_DIST_ATTEN = -16.000000
CHATTER_START_ATTEN = -2.000000
COMM_CONFLICT_PRIORITY_CUTOFF = -3
WALLA_MAX_DIST = 3500.000000
WALLA_MAX_DIST_ATTEN = -24.000000
WALLA_START_ATTEN = -8.000000
WALLA_PRIORITY_CUTOFF = -3

[AsteroidConsts
MAX_ASTEROID_LOOT_DAMAGE = 20000.000000
MAX_LOOT_PER_ASTEROID = 3 </font></pre>and which of these is the cruise speed of 300 meters per second (180000, relative to ingame units)? perhaps you are mistaken?

Post Sat Mar 01, 2003 3:30 am

Static, is there an easy way to tell which engine belongs to which ship?

Return to Freelancer General Editing Forum