• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Dynamic Scenery HELP!

Messages
187
Country
hungary
Hello,

i started to make dynamic scenery because the gmax animations are relatively very shorts :) So i read a lot of tutorials and forums about the topic but i need help.

In most of the topics a found that the designers use default planes or trucks in dynamic scenery but i would like to use my own model. I used gmax for modelling. I made the object, exported with FS2002 gamepack, and i also made a library with FS regen what i tweaked to "dynamic object library" in ASM. Here is the code:

Code:
header label word
    dw  0001
    dd  000989D57H
    dd  0FF6914C5H
    dd  07FFFFFFFH
    dd  080B60B62H
    dw  22 dup(0)
    dd  (offset LIBRARY_DATA) - (offset header)
    dw  10 dup(0)
    dd  0AAAAAAAAh
    dd  0AAAAAAAAh
    dd  0AAAAAAAAh
    dd  0AAAAAAAAh
    dw  14 dup(0)
LIBRARY_DATA label word
    dd  (offset LIBRARY_0) - (offset LIBRARY_DATA)
    dd  0AAAAAAAAh, 0AAAAAAAAh, 0AAAAAAAAh, 000000001h
    dd  0,6,8
    dd  (offset LIBRARY_DATA)
LIBRARY_0 label word
    dd  0AAAAAAAAh, 0AAAAAAAAh, 0AAAAAAAAh, 000000001h
    db  0
    dd  (offset LIBRARY_0_HE) - (offset LIBRARY_0)
    dd  (offset LIBRARY_0_END) - (offset LIBRARY_0_START)
    dd  6
    dd  131072
    dd  2
    dd  0
    db "kocsi"
    dd 0
LIBRARY_0_HE label word
LIBRARY_0_START label word

; Dynamic Code Start 
 
SETWRD 18h, 0 ;LAT ? 
SETWRD 20h, 0 ;LON ? 
SETWRD 22h, 0 ;ALT ? 
 
SHADOW_VPOSITION 0 
SUPER_SCALE Draw_Setup0, 10000, 14, 15 ;V1, V2, SCALE 
SHADOW_VICALL Draw_Routine0, 18h 
 
Draw_Setup0 label word 
 
VPOSITION Return_SetUp0, 0, 0, 0 
SUPER_SCALE Return_SetUp0, 10000, 14, 15 ; V1, V2, SCALE 
VINSTANCE_CALL Draw_Routine0, 18h 
SETWRD 2Ch, 18 ; SIZE 
 
Return_SetUp0 label word 
 
BGL_RETURN 
 
Draw_Routine0 label word 
 
; Dynamic Code End 

    include kocsi_0.asm
LIBRARY_0_END label word
    dd 0,0,0,0

I found this "dynamic scenery ASM tweaking" code HERE.

Okay, the model is ready. I already recorded a PATH in FS with Flight Data Recorder For FS2004 (v9.0.0.0).

Now i need a tool, to assign the model and the path. That is the problem. First i tried FS Action! Scenery from Abacus but it doesn't load the Path, i get "not a valid datafile" error. Okay i read a lot of info about the Recorder tool data file and i realized that it use different "SET" for different programs. I have not found any SET which is working with FS Action! Scenery so i dropped this program. Okay i tried to use FSDyn! Its better because its freeware. It can be able to read the PATH file (because the "SET" file for the tool was included with it so i could use it) but i can only open the default aircafts and fuel trucks for models. The readme says that to use custom objects i have to use FSDS and export to a special RAW BGL format and convert it to dynamic library with a program called DynKit. Okay... i don't have FSDS and i cannot use it. So i used the gmax ASM code tweak mentioned above because it have to work as well. But when i try to load the BGL what i made with FSregen and tweaked to dynamic library i get the next error in DynKit: "Unknown section 10 object header"
I think that there is an error or something else in my code mentioned above because DynKit doesnt recognize my dynamic object library. If i try to load a simple BGL file it says: "No section 10 in this BGL".

So can anybody help me? Or suggest a tool or something where can i assign the path and the model? Or send me a SET what can i use to record the path which can be used together with FS Action! Scenery or DynMaker? Or any other tool or method to make dynamic scenery?

Thanks!

Regards, Peter
 
Why not save your model as an Aircraft and use AI.

Why not save your model as an Aircraft and use AI. :confused:

Below is the .cfg that I have used for

Ferry
Cars
Train
Monorails



++++++++++++++++++++++++++++++++++++++++++++++

[fltsim.0]
title=Monorail_A
sim=Monorail_A
panel=
sound=
texture=Monorail_A

ui_manufacturer=WBW
ui_type=Misc
ui_variation=Monorail_A


atc_heavy=0
atc_id=
atc_airline=
atc_flight_number=

model=

[General]
atc_type=
atc_model=
atc_airline=

performance=\n

[Reference Speeds]
flaps_up_stall_speed = 40.000
full_flaps_stall_speed = 0.000
cruise_speed = 20.000
max_indicated_speed = 040
max_mach = 0.10
[WEIGHT_AND_BALANCE]
max_gross_weight = 875000.000
empty_weight = 401100.000
reference_datum_position = 0.000, 0.000, 0.000
empty_weight_CG_position = 0.000, 0.000, 0.000
max_number_of_stations = 10
station_load.0 =40000.000000, 0.000000, 0.000000, 0.000000, ZXY position fr
;Moments of Inertia
empty_weight_pitch_MOI = 96304110.000
empty_weight_roll_MOI = 15352310.000
empty_weight_yaw_MOI = 32167308.000
empty_weight_coupled_MOI = 0.000
CG_forward_limit= 0.000
CG_aft_limit= 1.000

[contact_points]
; 0 Class (0=floats)
; 1 Longitudinal Position (feet) [BIGGER = SLOWER WAVE MOTION + NOSE PLOWS]
; 2 Lateral Position (feet) [BIGGER CREATES VIBRATION]
; 3 Vertical Position (feet) [MORE POSITIVE = LOWER]
; 4 Impact Damage Threshold (Feet Per Minute)
; 5 Brake Map (0=None, 1=Left, 2=Right) [N/A]
; 6 Wheel Radius (feet)
; 7 Steer Angle (degrees) [CHANGE THIS TO MAKE SHIP TURN FASTER]
; 8 Static Compression (feet) (0=rigid)
; 9 Max/Static Compression Ratio
;10 Damping Ratio/Water Rudder Effectiveness (0=Undamped, 1=Critically Damped)
;11 Extension Time (seconds) [N/A TO FIXED GEAR]
;12 Retraction Time (seconds) [N/A TO FIXED GEAR]
;13 Sound Type [WATER SOUND?]
;14 Airspeed limit for retraction (KIAS) [N/A TO FIXED GEAR]
;15 Airspeed that gear gets damage at (KIAS) [N/A TO FIXED GEAR]
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
; 0 Z X Y FPM BM WR SA SC Max DR ET RT SND RL GD
point.0= 4.000, 40.000, -4.500, -3.500, 9999.000, 0.000, 1.000, 5.000, 0.900, 15.500, 0.650, 0.000, 0.000, 2.000, 0.000, 0.000
point.1= 4.000, 40.000, 4.500, -3.500, 9999.000, 0.000, 1.000, 5.000, 0.900, 15.500, 0.650, 0.000, 0.000, 3.000, 0.000, 0.000
point.2= 4.000, -40.000, -4.500, -3.500, 9999.000, 0.000, 1.000, 0.000, 0.900, 15.500, 0.650, 0.000, 0.000, 2.000, 0.000, 0.000
point.3= 4.000, -40.000, 4.500, -3.500, 9999.000, 0.000, 1.000, 0.000, 0.900, 15.500, 0.650, 0.000, 0.000, 3.000, 0.000, 0.000
point.4= 1.000, 0.000, 0.000, -4.000, 9999.000, 0.000, 1.000, 0.000, 0.900, 15.500, 0.650, 5.000, 5.000, 3.000, 0.000, 0.000
static_pitch = 0.000
static_cg_height = 4.000
gear_system_type = 0 ;Hydraulic [FOR HORN]

[Views]
;ZXY distance from reference datum (feet)
eyepoint = -120.00, -1.0, 55.5

[LIGHTS]
//Types: 1=beacon, 2=strobe, 3=navigation, 4=cockpit
light.1 = 2, -39.66, -27.44, 12.99, fx_strobeh,
light.2 = 2, -39.66, 27.44, 12.99, fx_strobeh,



[EFFECTS]



[SMOKESYSTEM]




[flight_tuning]
cruise_lift_scalar = 1.000 ;changed from 1 to 0
parasite_drag_scalar = 1.000
induced_drag_scalar = 1.000
elevator_effectiveness = 1.000 ;changed from 1 to 0
aileron_effectiveness = 5.000 ;changed from 1 to 0
rudder_effectiveness = 1.000 ;changed from 1 to 0
pitch_stability = 1.000
roll_stability = 1.000
yaw_stability = 1.000
elevator_trim_effectiveness = 1.000 ;changed from 1 to 0
aileron_trim_effectiveness = 1.000 ;changed from 1 to 0
rudder_trim_effectiveness = 1.000 ;changed from 1 to 0

[airplane_geometry]
;[NO CHANGES]
wing_area = 5825.000
wing_span = 211.400
wing_root_chord = 48.800
wing_dihedral = 7.000
wing_incidence = 2.000
wing_twist = -1.000
oswald_efficiency_factor = 0.680
wing_winglets_flag = 1
wing_sweep = 37.500
wing_pos_apex_lon = -68.200
wing_pos_apex_vert = 0.000
htail_area = 1470.000
htail_span = 72.800
htail_pos_lon = -210.000
htail_pos_vert = 0.000
htail_incidence = 0.000
htail_sweep = 37.500
vtail_area = 1060.000
vtail_span = 37.100
vtail_sweep = 45.000
vtail_pos_lon = -198.500
vtail_pos_vert = 26.100
elevator_area = 327.000
aileron_area = 225.000
rudder_area = 230.000
elevator_up_limit = 25.000
elevator_down_limit = 15.000
aileron_up_limit = 25.000
aileron_down_limit = 15.000
rudder_limit = 21.500
elevator_trim_limit = 20.000
spoiler_limit = 45.000
spoilerons_available = 1
aileron_to_spoileron_gain = 3.000
min_ailerons_for_spoilerons = 10.000
min_flaps_for_spoilerons = 0.000

;[flaps.0]
;type = 0


[GeneralEngineData]
engine_type = 1
Engine.0 = -100.000, -10.000, 0.000
Engine.1 = -100.000, 10.000, 0.000
distance from ref datum
fuel_flow_scalar = 1.000
min_throttle_limit = -0.25 ;neg for turbine reverser

[TurbineEngineData]
fuel_flow_gain = 0.000
inlet_area = 6.000
rated_N2_rpm = 4020.000
static_thrust = 150000.000
afterburner_available = 0
reverser_available = 1.000

[jet_engine]
thrust_scalar = 1.0

[fuel]
Center1 = 0.000, 0.000, 0.000, 50000.000, 10.000
fuel_type = 2 ;2 = JetA
number_of_tank_selectors = 1
electric_pump = 1


[electrical]
electric_always_available = 1

[Radios] // availiable, standby frequency, has glide slope
Audio.1 = 1
Com.1 = 1, 0
Com.2 = 1, 0
Nav.1 = 1, 0, 1
Nav.2 = 1, 0, 0
Adf.1 = 1, 0


[gear_warning_system]
gear_warning_available = 0

[brakes]
parking_brake = 0 ;Parking brake not available
toe_brakes_scale = 0 ;Brake scalar

[hydraulic_system]
normal_pressure = 3000 ;PSI
electric_pumps = 0 ;no electric pumps
engine_map = 1,0,0,0 ;pumps on Eng1

[pitot_static]
vertical_speed_time_constant = 1
;Increasing this value will cause a more instantaneous reaction in the VSI

[direction_indicators]
direction_indicator.0 = 3,0 ;3=Electro-Mag Slaved Compass, 0=NA

[attitude_indicators]
attitude_indicator.0 = 0 ;0=None

[turn_indicators]
turn_indicator.0 = 1,0 ;1=Electric Gyro

[stall_warning]
type = 0

[exits]
number_of_exits=1
exit_rate.0=0.04 ;Percent per second

[autopilot]
autopilot_available= 1
flight_director_available= 1
default_vertical_speed= 1000.0
autothrottle_available=1
autothrottle_arming_required=1
autothrottle_max_rpm = 90
autothrottle_takeoff_ga=1
pitch_takeoff_ga=8.0
max_pitch=10.0
max_pitch_acceleration=1.0
max_pitch_velocity_lo_alt=2.0
max_pitch_velocity_hi_alt=1.5
max_pitch_velocity_lo_alt_breakpoint=20000.0
max_pitch_velocity_hi_alt_breakpoint=28000.0
max_bank=25.0
max_bank_acceleration=1.8
max_bank_velocity=3.00
max_throttle_rate=0.10
nav_proportional_control=9.00
nav_integrator_control=0.25
nav_derivative_control=0.00
nav_integrator_boundary=2.50
nav_derivative_boundary=0.00
gs_proportional_control=9.52
gs_integrator_control=0.26
gs_derivative_control=0.00
gs_integrator_boundary=0.70
gs_derivative_boundary=0.00
yaw_damper_gain = 0.0

[keyboard_response]
;Breakpoint speeds (knots) on the keyboard increments of control surfaces.
;Speed at which the incremenet is reduced to 1/2 and 1/8 respectively.
elevator = 150, 250
aileron = 150, 250
rudder = 150, 250

[forcefeedback]
;revised to eliminate bumps
gear_bump_nose_magnitude = 3000 ;0 - 10000
gear_bump_nose_direction = 18000 ;0 - 35999 degrees
gear_bump_nose_duration = 250000 ;in microseconds
gear_bump_left_magnitude = 2700 ;0 - 10000
gear_bump_left_direction = 35500 ;0 - 35999 degrees
gear_bump_left_duration = 250000 ;in microseconds
gear_bump_right_magnitude = 2700 ;0 - 10000
gear_bump_right_direction = 00500 ;0 - 35999 degrees
gear_bump_right_duration = 250000 ;in microseconds
ground_bumps_magnitude1 = 1300 ;0 - 10000
ground_bumps_angle1 = 08900 ;0 - 35999 degrees
ground_bumps_intercept1 = 3.0
ground_bumps_slope1 = 0.20
ground_bumps_magnitude2 = 200 ;0 - 10000
ground_bumps_angle2 = 09100 ;0 - 35999 degrees
ground_bumps_intercept2 = 1.075
ground_bumps_slope2 = 0.035
crash_magnitude1 = 10000 ;0 - 10000
crash_direction1 = 01000 ;0 - 35999 degrees
crash_magnitude2 = 10000 ;0 - 10000
crash_direction2 = 9000 ;0 - 35999 degrees
crash_period2 = 75000 ;in microseconds
crash_duration2 = 2500000 ;in microseconds

[Flaps.0]
type= 1
span-outboard= 0.800
extending-time= 2.000
system_type= 1
damaging-speed= 120.000
blowout-speed= 150.000
lift_scalar= 0.000
drag_scalar= 0.000
pitch_scalar= 0.000
flaps-position.0= 0.000, 0.000
flaps-position.1= 1.000, 0.000
 
Last edited:
Hmm its interesting. But in this case how can i define a path for a follow me car, or airport bus, etc? And i also dont want that they communicate with the tower, etc on radio.
 
"how can i define a path for a follow me car, or airport bus"

Use AFCAD to make a fake Airport.
You can make one for cars.
Another one for a bus.
another for a ferry etc

They dont seem to interfere with each other even if they
overlap.

Use TTools to make your AI flight plans.

Not sure if they communicate with the Tower.
 
Hmm it doesnt seems to me ok for me but thanks. And it also works when the AI traffic is zero? (online play). I would like to make real dynamic objects not with ai traffic. Somebody who made, please write how or what can cause the problem what i described above. Thanks!
 
Hi !

I've created a lot of dynamic scenery/objects. I'm using Fltrec, to record the path's, the old DOD for some skeletoncode and a lot of handcoding in Scasm. You can read in the Wiki ( http://www.scenerydesign.org/wiki/doku.php?id=tutorials:scasm:how_to_create_a_dynamic_object ) how to create an object for dynamic scenery using Scasm ( Which is a better and easier to understand coding language than some others ! )
As I see, most of the scenery designing problems most of the designers ask for in the forum's, is feasible through scasm and dynamic scenery.
But there is a But, there aren't any nice, updated software for this purpose.

Cheers, Peter
 
Wow its good. I don't know what is DOD and sceletoncode but i read many tutorial and if i understand well, the SCASM and the FLtrec is enough to make dynamic scenery. I read the tutorial in the wiki as well and i have some programming knowladge in Visual Basic but not in scasm. There is no detailed explanation in the wiki so could you help me?

Here is my dissasembled FS2002 gmax object. I made the library from my object with FSRegen and i applied the 'dynamic object tweak' in the ASM code what i mentioned above. Now i dissasembled this library BGL with BGLAnalyzer. So here is the code:

Code:
Header( 1  N90:00:00.00 S89:00:00.00 E180:00:00.00 W178:60:00.00 )
LatRange(  S89:00:00.00  N90:00:00.00 )

ObjID( AAAAAAAA AAAAAAAA AAAAAAAA 00000001 )
LibObj( 
	PWR   0
	SIZE  6
	SCALE 0.500
	TYPE  2
	NAME   "kocsi"	)
	SetVar( 0018 0 )
	SetVar( 0020 0 )
	SetVar( 0022 0 )
	ShadowPosInd( 0000 )
	SuperScale( :L00007C 10000 14 15 )
	ShadowCallVI( :L0000A0 0018 )
:L00007C
	RefPoint( ofs :L00009E 0 0 0000 )
	SuperScale( :L00009E 10000 14 15 )
	PBHCall( :L0000A0 0018 )
	SetVar( 002C 18 )
:L00009E
	Return
:L0000A0
	BGLVersion( 0800 )
	TextureList( 0
		1 FF 255 255 255 0 2.42566
		2A_2B_SMALL2.BMP ; texture 0
		1 FF 255 255 255 0 1.75877
		CONTAINER3.BMP ; texture 1
	)
	MaterialList( 0
			; material 0
		1.000 1.000 1.000 1.000 ; diffuse color
		0.392 0.392 0.392 1.000 ; ambient color
		0.000 0.000 0.000 1.000 ; specular color
		0.000 0.000 0.000 1.000 ; emissive color
		0.000 ; specular power
	)
	VertexList( 0
		0.192 0.000 3.792 -1.000 0.000 0.000 0.001 0.000 ; vertex 0
		0.192 0.000 3.792 0.000 -1.000 0.000 0.999 1.000 ; vertex 1
		0.192 0.000 3.792 0.000 0.000 1.000 0.999 0.000 ; vertex 2
		0.192 0.000 -3.584 -1.000 0.000 0.000 0.999 0.000 ; vertex 3
		0.192 0.000 -3.584 0.000 -1.000 0.000 1.000 0.001 ; vertex 4
		0.192 0.000 -3.584 0.000 0.000 -1.000 0.001 0.000 ; vertex 5
		0.192 5.536 3.792 -1.000 0.000 0.000 0.001 1.000 ; vertex 6
		0.192 5.536 3.792 0.000 0.000 1.000 0.999 1.000 ; vertex 7
		0.192 5.536 3.792 0.000 1.000 0.000 0.001 1.000 ; vertex 8
		0.192 5.536 -3.584 -1.000 0.000 0.000 0.999 1.000 ; vertex 9
		0.192 5.536 -3.584 0.000 0.000 -1.000 0.001 1.000 ; vertex 10
		0.192 5.536 -3.584 0.000 1.000 0.000 0.001 0.001 ; vertex 11
		7.944 0.000 3.792 0.000 -1.000 0.000 0.001 0.999 ; vertex 12
		7.944 0.000 3.792 0.000 0.000 1.000 0.001 0.000 ; vertex 13
		7.944 0.000 3.792 1.000 0.000 0.000 0.999 0.000 ; vertex 14
		7.944 0.000 -3.584 0.000 -1.000 0.000 0.001 0.001 ; vertex 15
		7.944 0.000 -3.584 0.000 0.000 -1.000 0.999 0.000 ; vertex 16
		7.944 0.000 -3.584 1.000 0.000 0.000 0.001 0.000 ; vertex 17
		7.944 5.536 3.792 0.000 0.000 1.000 0.001 1.000 ; vertex 18
		7.944 5.536 3.792 0.000 1.000 0.000 1.000 0.999 ; vertex 19
		7.944 5.536 3.792 1.000 0.000 0.000 0.999 1.000 ; vertex 20
		7.944 5.536 -3.584 0.000 0.000 -1.000 0.999 1.000 ; vertex 21
		7.944 5.536 -3.584 0.000 1.000 0.000 0.999 0.001 ; vertex 22
		7.944 5.536 -3.584 1.000 0.000 0.000 0.001 1.000 ; vertex 23
		-10.368 0.000 1.720 -1.000 0.000 0.000 0.000 0.001 ; vertex 24
		-10.368 0.000 1.720 0.000 -1.000 0.000 0.999 1.000 ; vertex 25
		-10.368 0.000 1.720 0.000 0.000 1.000 0.999 0.001 ; vertex 26
		-10.368 0.000 -1.792 -1.000 0.000 0.000 0.999 0.001 ; vertex 27
		-10.368 0.000 -1.792 0.000 -1.000 0.000 0.999 0.001 ; vertex 28
		-10.368 0.000 -1.792 0.000 0.000 -1.000 0.001 0.001 ; vertex 29
		-10.368 1.848 1.720 -1.000 0.000 0.000 0.000 1.000 ; vertex 30
		-10.368 1.848 1.720 0.000 0.000 1.000 0.999 1.000 ; vertex 31
		-10.368 1.848 1.720 0.000 1.000 0.000 0.001 1.000 ; vertex 32
		-10.368 1.848 -1.792 -1.000 0.000 0.000 0.999 1.000 ; vertex 33
		-10.368 1.848 -1.792 0.000 0.000 -1.000 0.001 1.000 ; vertex 34
		-10.368 1.848 -1.792 0.000 1.000 0.000 0.001 0.001 ; vertex 35
		2.272 0.000 1.720 0.000 -1.000 0.000 0.001 0.999 ; vertex 36
		2.272 0.000 1.720 0.000 0.000 1.000 0.001 0.001 ; vertex 37
		2.272 0.000 1.720 1.000 0.000 0.000 0.999 0.001 ; vertex 38
		2.272 0.000 -1.792 0.000 -1.000 0.000 0.001 0.000 ; vertex 39
		2.272 0.000 -1.792 0.000 0.000 -1.000 0.999 0.001 ; vertex 40
		2.272 0.000 -1.792 1.000 0.000 0.000 0.000 0.001 ; vertex 41
		2.272 1.848 1.720 0.000 0.000 1.000 0.001 1.000 ; vertex 42
		2.272 1.848 1.720 0.000 1.000 0.000 0.999 0.999 ; vertex 43
		2.272 1.848 1.720 1.000 0.000 0.000 0.999 1.000 ; vertex 44
		2.272 1.848 -1.792 0.000 0.000 -1.000 0.999 1.000 ; vertex 45
		2.272 1.848 -1.792 0.000 1.000 0.000 0.999 0.000 ; vertex 46
		2.272 1.848 -1.792 1.000 0.000 0.000 0.000 1.000 ; vertex 47
		)
	SetMaterial( 0 0 )
	DrawTriList( 0
		  17   14   20 ;   0
		  12   15    4 ;   1
		  11   22   19 ;   2
		  19    8   11 ;   3
		   5   16   21 ;   4
		  21   10    5 ;   5
		   4    1   12 ;   6
		  20   23   17 ;   7
		  13    2    7 ;   8
		   7   18   13 ;   9
		   0    3    9 ;  10
		   9    6    0 ;  11
	)
	SetMaterial( 0 1 )
	DrawTriList( 24
		   4    1   12 ;   0
		  12   15    4 ;   1
		  11   22   19 ;   2
		  19    8   11 ;   3
		   5   16   21 ;   4
		  21   10    5 ;   5
		  17   14   20 ;   6
		  20   23   17 ;   7
		  13    2    7 ;   8
		   7   18   13 ;   9
		   0    3    9 ;  10
		   9    6    0 ;  11
	)
	EndVersion
	Return
EndObj

But i dont understand from the wiki that what i should have to modify in this code? (the Transform_Mat part is OK but i dont understand the 'header changing part')

And if i know well, after that i have to compile this code with SCASM and this will be the library file? And i have to create another SCASM code, example from the wiki

Code:
Set( Area15mx 32 )
Header( 1  N59:12:41  N59:07:18  E018:00:15   E017:49:44  )
LatRange( N59:07:18 N59:12:41 )

; Dynamic Scenery section
Area15(  N59:12:41  N59:07:18  E018:00:15   E017:49:44 )
LatRef( N59:10 )
    
	CallDLibObj( :DYN01 3 3 DD0000B0 0AB345AE A9000000 00000D33  )
Exit

:DYN01   ;
          SetPos( N59:10:56.3844 E017:55:11.7516 55  )
          Heading( 243.6614  )
          ACS( 1 )  ; crash control= OFF
          Hold ( 5 )
          Sleep
          Jump( :DYN01 )

End15

Set ( Logfile 1 )

what will be control the movement. Is that correct?
 
Okay during the time i tried how to make movement with MoveToPosN command and it looks good. It takes very very long time to put each point's coordinates, pitch, hdg, etc into the SCASM code so now i'm going to write a Visual Basic program which convert the Flight Recorder data file to SCASM movement code.

The question about what sould i modify in the SCASM code created with BGLAnalyzer still live. Help pls :)
 
There is a tool for conversion of FltRec data to SCASM code. Although written for FS2002 it should work with FS9 as well. The fsdynv10.zip file is freeware and can be found at avsim.com. I haven't tested it yet, so your opinion will be interesting.
 
My converter has been ready thanks :) But i don't know what i have to modify on my gmax model source code :(
 
Hi again !

Your objectcode works well as I can see ! Changed a few rows as described.

Header( 1 N90:00:00.00 S89:00:00.00 E180:00:00.00 W178:60:00.00 )
LatRange( S89:00:00.00 N90:00:00.00 )

ObjID( AAAAAAAA AAAAAAAA AAAAAAAA 00000001 )

LibObj( PWR 0 SIZE 6 SCALE 0.500 TYPE 2 NAME "kocsi" )
SetVar( 0018 0 )
;SetVar( 0020 0 ) ; Unknown variable in a dynamic object or...
;SetVar( 0022 0 ) ; Unknown variable in a dynamic object or...
ShadowPosInd( 0000 )
SuperScale( :L00007C 10000 14 15 )
ShadowCallVI( :L0000A0 0018 )
:L00007C
RefPoint( ofs :L00009E 0 0 0000 )
SuperScale( :L00009E 10000 14 15 )
PBHCall( :L0000A0 0018 )
SetVar( 002C 18 )
:L00009E
Return
:L0000A0
;BGLVersion( 0800 ) ; Not necessary
TextureList( 0
1 FF 255 255 255 0 2.42566
2A_2B_SMALL2.BMP ; texture 0
1 FF 255 255 255 0 1.75877
CONTAINER3.BMP ; texture 1
)
MaterialList( 0
; material 0
1.000 1.000 1.000 1.000 ; diffuse color
0.392 0.392 0.392 1.000 ; ambient color
0.000 0.000 0.000 1.000 ; specular color
0.000 0.000 0.000 1.000 ; emissive color
0.000 ; specular power
)
VertexList( 0
0.192 0.000 3.792 -1.000 0.000 0.000 0.001 0.000 ; vertex 0
0.192 0.000 3.792 0.000 -1.000 0.000 0.999 1.000 ; vertex 1
0.192 0.000 3.792 0.000 0.000 1.000 0.999 0.000 ; vertex 2
0.192 0.000 -3.584 -1.000 0.000 0.000 0.999 0.000 ; vertex 3
0.192 0.000 -3.584 0.000 -1.000 0.000 1.000 0.001 ; vertex 4
0.192 0.000 -3.584 0.000 0.000 -1.000 0.001 0.000 ; vertex 5
0.192 5.536 3.792 -1.000 0.000 0.000 0.001 1.000 ; vertex 6
0.192 5.536 3.792 0.000 0.000 1.000 0.999 1.000 ; vertex 7
0.192 5.536 3.792 0.000 1.000 0.000 0.001 1.000 ; vertex 8
0.192 5.536 -3.584 -1.000 0.000 0.000 0.999 1.000 ; vertex 9
0.192 5.536 -3.584 0.000 0.000 -1.000 0.001 1.000 ; vertex 10
0.192 5.536 -3.584 0.000 1.000 0.000 0.001 0.001 ; vertex 11
7.944 0.000 3.792 0.000 -1.000 0.000 0.001 0.999 ; vertex 12
7.944 0.000 3.792 0.000 0.000 1.000 0.001 0.000 ; vertex 13
7.944 0.000 3.792 1.000 0.000 0.000 0.999 0.000 ; vertex 14
7.944 0.000 -3.584 0.000 -1.000 0.000 0.001 0.001 ; vertex 15
7.944 0.000 -3.584 0.000 0.000 -1.000 0.999 0.000 ; vertex 16
7.944 0.000 -3.584 1.000 0.000 0.000 0.001 0.000 ; vertex 17
7.944 5.536 3.792 0.000 0.000 1.000 0.001 1.000 ; vertex 18
7.944 5.536 3.792 0.000 1.000 0.000 1.000 0.999 ; vertex 19
7.944 5.536 3.792 1.000 0.000 0.000 0.999 1.000 ; vertex 20
7.944 5.536 -3.584 0.000 0.000 -1.000 0.999 1.000 ; vertex 21
7.944 5.536 -3.584 0.000 1.000 0.000 0.999 0.001 ; vertex 22
7.944 5.536 -3.584 1.000 0.000 0.000 0.001 1.000 ; vertex 23
-10.368 0.000 1.720 -1.000 0.000 0.000 0.000 0.001 ; vertex 24
-10.368 0.000 1.720 0.000 -1.000 0.000 0.999 1.000 ; vertex 25
-10.368 0.000 1.720 0.000 0.000 1.000 0.999 0.001 ; vertex 26
-10.368 0.000 -1.792 -1.000 0.000 0.000 0.999 0.001 ; vertex 27
-10.368 0.000 -1.792 0.000 -1.000 0.000 0.999 0.001 ; vertex 28
-10.368 0.000 -1.792 0.000 0.000 -1.000 0.001 0.001 ; vertex 29
-10.368 1.848 1.720 -1.000 0.000 0.000 0.000 1.000 ; vertex 30
-10.368 1.848 1.720 0.000 0.000 1.000 0.999 1.000 ; vertex 31
-10.368 1.848 1.720 0.000 1.000 0.000 0.001 1.000 ; vertex 32
-10.368 1.848 -1.792 -1.000 0.000 0.000 0.999 1.000 ; vertex 33
-10.368 1.848 -1.792 0.000 0.000 -1.000 0.001 1.000 ; vertex 34
-10.368 1.848 -1.792 0.000 1.000 0.000 0.001 0.001 ; vertex 35
2.272 0.000 1.720 0.000 -1.000 0.000 0.001 0.999 ; vertex 36
2.272 0.000 1.720 0.000 0.000 1.000 0.001 0.001 ; vertex 37
2.272 0.000 1.720 1.000 0.000 0.000 0.999 0.001 ; vertex 38
2.272 0.000 -1.792 0.000 -1.000 0.000 0.001 0.000 ; vertex 39
2.272 0.000 -1.792 0.000 0.000 -1.000 0.999 0.001 ; vertex 40
2.272 0.000 -1.792 1.000 0.000 0.000 0.000 0.001 ; vertex 41
2.272 1.848 1.720 0.000 0.000 1.000 0.001 1.000 ; vertex 42
2.272 1.848 1.720 0.000 1.000 0.000 0.999 0.999 ; vertex 43
2.272 1.848 1.720 1.000 0.000 0.000 0.999 1.000 ; vertex 44
2.272 1.848 -1.792 0.000 0.000 -1.000 0.999 1.000 ; vertex 45
2.272 1.848 -1.792 0.000 1.000 0.000 0.999 0.000 ; vertex 46
2.272 1.848 -1.792 1.000 0.000 0.000 0.000 1.000 ; vertex 47
)
SetMaterial( 0 0 )

;Attached to "move" the object downwards, otherwise it wil be hanging a couple of meters above the ground !!
Transform_Mat ( a
0 -5 0
0 0 0
)

DrawTriList( 0
17 14 20 ; 0
12 15 4 ; 1
11 22 19 ; 2
19 8 11 ; 3
5 16 21 ; 4
21 10 5 ; 5
4 1 12 ; 6
20 23 17 ; 7
13 2 7 ; 8
7 18 13 ; 9
0 3 9 ; 10
9 6 0 ; 11
)
SetMaterial( 0 1 )
DrawTriList( 24
4 1 12 ; 0
12 15 4 ; 1
11 22 19 ; 2
19 8 11 ; 3
5 16 21 ; 4
21 10 5 ; 5
17 14 20 ; 6
20 23 17 ; 7
13 2 7 ; 8
7 18 13 ; 9
0 3 9 ; 10
9 6 0 ; 11
)
TransformEnd
;EndVersion ; Not necesary
Return
EndObj

Set ( Logfile 1 )

In my scenery it appeared as two grey boxes, I don't know what it is:scratchch
The other codesnippet which you refer to is the "controlpart", but it doesen't make the object move. In this case it is a static object, but if you record a pattern with fltrec you will have that code too.
About FltDyn, often mentioned in this task, it not a good one because you can't work with custom made objects ,only the default ones.

Good Luck, Peter
 
Thank you very much Peter! :)

Everything works ok. The two cubes what you saw is correct :) its just for test. I used the FLTRec to record the path with my own SETs. I wrote a small VB program to convert it to SCASM code with MoveToPosN command and everything is OK. Good :)

Thanks again!

Regards,
Peter
 
Hello Peter,

I made my new airport bus with gmax but i have some problem with the SCASM code compiling. I did the same as above. Exported the gmax model, made a library with FS-regen, tweak the ASM code, recompile the ASM code with BGLC, and decompile the BGL with BGLAnalyzer. After that i modified the scasm code as you described and i want to recompile it with SCASM but i get the following error when try to compile:

Code:
Error in line: 1894
         -> EndObj
         ->   ->   Linebuffer ( 20478 ), line 68/456 truncated!

         -> Too many errors ( 32767 )
Scasm compilation status: aborted

(i tried to use EndA command. In this case the EndObj error disappear but the Linebuffer isnt)

I tried to use the ASM modified BGL what i made with FSregen but in this case the model is above the ground with a few meters. The bigger problem that it follows the path but doesnt rotate to the correct heading. It is always facing to one direction.
 

Attachments

Okay i solved the problem with extending the line buffer size to 100k but the newest problem is very strange :) if the dinamyc scenery is on, my plane looks a bit strange from some angles. If i turn off, everything is ok. Hmm...

whattha.jpg
 
Hallo !

The reason that this strange things occur is that you have removed the "TransformEnd" command. Every Transform_Mat has to have a corresponding TransformEnd otherwise funny (?) things happends. You can read more about it in scasm doc. I have crrected the code so the bus shows up correctly. Here we go :

Set( BUF 1024 )
Set( areamx 1024 )
Set( LINBUF 2048 )

;This is what I call the header section

Header( 1 80 -80 -179 180 )
LatRange( S94:21:19.18 N94:21:19.18 )

ObjID( 8C650EDD 428ECADC A25D1196 701B9F74 )
LibObj( PWR 0 SIZE 6 SCALE 0.500 TYPE 2 NAME "neoplan" )

; Changed the scaling type to this, the Superscale command is more trick to use I think.

ShadowPosInd( 0000 )
ReScale( :L014 0 0 0.5 ); Here you can experiment with the size of the object.
ShadowCallVI( :L044 0018 )

:L014

RefPoint( ofs :L036 0 0 0000 )
ReScale( :L036 0 0 0.5 ); Here too !
PBHCall( :L044 0018 )

:L036
Return

:L044

;Here the 3D code begins;

TextureList( 0
1 FF 255 255 255 0 2.93438
9022.BMP ; texture 0
1 FF 255 255 255 0 0.20954
BLACK_ROPE.BMP ; texture 1
)
MaterialList( 0
; material 0
0.145 0.145 0.145 1.000 ; diffuse color
0.145 0.145 0.145 1.000 ; ambient color
0.000 0.000 0.000 1.000 ; specular color
0.000 0.000 0.000 1.000 ; emissive color
0.000 ; specular power
; material 1
1.000 1.000 1.000 1.000 ; diffuse color
0.392 0.392 0.392 1.000 ; ambient color
0.000 0.000 0.000 1.000 ; specular color
0.000 0.000 0.000 1.000 ; emissive color
0.000 ; specular power
)
VertexList( .....Removed all this code otherwise it could't be uploaded as text.
)

SetMaterial( 0 -1 )

;Changed the hight of the bus so it is on the ground. It be finetuned by using decimals. Also changed the rotation on the y-axis. DirectX standard x-z-y

Transform_Mat ( a
0 -4 0
0 0 270
)

DrawTriList( .....Removed all this code too, otherwise it could't be uploaded as text.

)

TransformEnd ; Very important :)
Return
EndObj
Set ( Logfile 1 )

Good Luck, Peter
 
Hi !

It shows up in my scenery. Maybe it's something wrong in your dynfile/controlfile. Send the file to me.

Cheers, Peter
 
Ohh it works now sorry I didnt know something. I dont need to quit from FS if i want to reload the dynamic scenery controller file but the dynamic library file doesnt reload when i deactive and reactivate the dynamic objects in FS.
 
Sounds nice! I hope you have a "Start kit" now for creating dynamic scenery. Feel free to ask more questions.....

Cheers, Peter
 
Back
Top