Idea Shuttle Fleet recompile for Orbiter 2016

Can you bend the knees, ankles and waist ?
Yes

---------- Post added 02-28-20 at 07:22 AM ---------- Previous post was 02-27-20 at 05:21 PM ----------

So an issue. The OMS texture
Code:
// --------------------------------------------------------------
// Initialise the thrusters for the orbital maneuvering system
// --------------------------------------------------------------
void Atlantis::CreateOMS()
{
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	for (int i = 0; i < 2; i++)
		AddExhaust (th_oms[i], 4.0, 0.5);

	PARTICLESTREAMSPEC OMSex = {
		0, .5, 1000, 5.0, 06, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE,
		PARTICLESTREAMSPEC::LVL_LIN, 1, 1, PARTICLESTREAMSPEC::ATM_FLAT, 6e7, 12e7
	};

	AddExhaustStream(th_oms[0], _V(-1, 0, -15), &OMSex);
	AddExhaustStream(th_oms[1], _V(1, 0, -15), &OMSex);








}
kfCultZ.jpg


In regular graphics similar but the particles disappear faster.
 
Probably due to your very high particle creation rate of 1000 Hz. With a lifetime of 0.1 seconds and emission speed of 5.0 m/s, you will have 100 particles (each with its own texture) within a distance 0.5 meters. That is way too many.

Depending on what effect you want, I would recommend you to reduce the frequency with a factor of 10. So something like 100 Hz.
 
Thats so I redid it.
But It it like a missing texture so just white boxes?
Ki2vhMX.jpg

Code:
void Atlantis::CreateOMS()
{
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	for (int i = 0; i < 2; i++)
		AddExhaust (th_oms[i], 4.0, 0.5);

	PARTICLESTREAMSPEC OMSex = {
		0, .5, 100, 5.0, 06, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE,
		PARTICLESTREAMSPEC::LVL_LIN, 1, 1, PARTICLESTREAMSPEC::ATM_FLAT, 6e7, 12e7
	};

	AddExhaustStream(th_oms[0], _V(-1, 0, -15), &OMSex);
	AddExhaustStream(th_oms[1], _V(1, 0, -15), &OMSex);


---------- Post added at 04:24 PM ---------- Previous post was at 02:22 PM ----------

So in 2010 sf oms burn. No exhaust just particles
C2NQgpo.jpg

but the Atlantis just exhaust:
ZFK4uwp.jpg
 
So the ASE and IUS? Having issues with them.
LqxMkNY.jpg


N6oqWLn.jpg

here you see the pivot is offset of center

So here you see it layout:
O7SXmFM.jpg


It looks as if the IUS is a bit short. it is to be 5.2 Meters and the mesh is 4.8.
I would be nice to have more dimension.

But it looks like the band on the IUS goes in the ASE?

It looks like the MAgellan dish is too large. It cuts into the cargo bay. It is 12 ft but the mesh is 15.7

Good image of IUS placement. Looks like that band is front of the ASE

1983_april_tdrs1a_payload.png
 
Last edited:
Best to size the payload and not the payload bay. IMHO
 
So this is what someone is using:
Code:
My spacecraft3 files for STS missions have: 

[TEXTURE_LIST]
TEX_1=Exhaust_atrcs
 
[PARTICLESTREAM_1]
NAME=OMSex
SRCSIZE=0.5
SRCRATE=1000
V0=5.0
SRCSPREAD=0.6
LIFETIME=0.10
GROWTHRATE=1.5
ATMSLOWDOWN=0
LTYPE=EMISSIVE
LEVELMAP=LVL_LIN
;LMIN=0
;LMAX=2
ATMSMAP=ATM_FLAT
AMIN=1
;AMAX=1

And somewhere further down (but these are texture definitions):

[EX_MAIN_0]
OFF=(-2.7,3.50,-13.5)
DIR=(-0.03, 0.25885, -0.96545)
LENGTH=2.5
WIDTH=0.6

[EX_MAIN_1]
OFF=(2.7,3.50,-13.5)
DIR=(0.03, 0.25885, -0.96545)
LENGTH=2.5
WIDTH=0.6
and this is what I have:
Code:
void Atlantis::CreateOMS()
{
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	for (int i = 0; i < 2; i++)
		AddExhaust (th_oms[i], 4.0, 0.5);

	PARTICLESTREAMSPEC OMSex = {
		0, .5, 100, 5.0, 06, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE,
		PARTICLESTREAMSPEC::LVL_LIN, 1, 1, PARTICLESTREAMSPEC::ATM_FLAT, 6e7, 12e7
	};

	AddExhaustStream(th_oms[0], _V(-1, 0, -15), &OMSex);
	AddExhaustStream(th_oms[1], _V(1, 0, -15), &OMSex);

}
 
So I redid the code.
This is sf in 2016.
fzdF3Vg.jpg

But this is what I get. Also the Payload bay is and body is lit
5UKZgYR.jpg


Code:
void Atlantis::CreateOMS()
{
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	//for (int i = 0; i < 2; i++)
	//	AddExhaust (th_oms[i], 4.0, 0.5);

	PARTICLESTREAMSPEC OMSex = {0, .5, 1000, 5.0, .6, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE,	PARTICLESTREAMSPEC::LVL_LIN, 1, 1, PARTICLESTREAMSPEC::ATM_FLAT, 6e7, 12e7};

	AddExhaustStream(th_oms[0], _V(-2.7, 3.50, -13.5), &OMSex);
	AddExhaustStream(th_oms[1], _V(2.7, 3.50, -13.5), &OMSex);

}

edit the code adding exhaust.
eMDBUxa.jpg

better but no particles and still glows the ship.

Code:
void Atlantis::CreateOMS()
{
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	for (int i = 0; i < 2; i++)
		AddExhaust (th_oms[i], 2.5, 0.6);

	PARTICLESTREAMSPEC OMSex = {0, .5, 100, 5.0, .6, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE,	PARTICLESTREAMSPEC::LVL_LIN,  PARTICLESTREAMSPEC::ATM_FLAT, 1};

	AddExhaustStream(th_oms[0], _V(-2.7, 3.50, -13.5), &OMSex);
	AddExhaustStream(th_oms[1], _V(2.7, 3.50, -13.5), &OMSex);

}

Code:
typedef struct {
DWORD flags;
double srcsize;
double srcrate;
double v0;
double srcspread;
double lifetime;
double growthrate;
double atmslowdown;
enum LTYPE { EMISSIVE, DIFFUSE } ltype;
enum LEVELMAP { LVL_FLAT, LVL_LIN, LVL_SQRT, LVL_PLIN, LVL_PSQRT }
 levelmap;
double lmin, lmax;
enum ATMSMAP { ATM_FLAT, ATM_PLIN } atmsmap;
double amin, amax;
SURFHANDLE tex;
} PARTICLESTREAMSPEC;


---------- Post added 03-03-20 at 05:47 AM ---------- Previous post was 03-02-20 at 06:29 PM ----------

The other scn that I haven't got to work as yet is sts125. Thanks to Donamy we have a mesh. But not sure the Hubble will not auto connect. Using the same code for sts 109,... and it works. Really the only difference is the ring is at a different start position. So at the start the attachment would be 180 degrees out?
oiohRJT.jpg
 
Last edited:
So another issue. in D3D9 here I have set and saved the material setting for the reflectors.
rtvPECM.jpg


in the GC folder there is a file named Shuttle2016B
Code:
CONFIG_VERSION 2
; =============================================
MESH 2016SPACESHUTTLE\Columbia\ColumbiaORG2016H7
; ---------------------------------------------
MATERIAL 2
REFLECT 0.254902 0.254902 0.254902
ROUGHNESS 0.850000
; =============================================
MESH 2016SPACESHUTTLE\Columbia\Columbiamid2016g
; ---------------------------------------------
MATERIAL 2
REFLECT 0.254902 0.254902 0.254902
ROUGHNESS 0.850000
; =============================================
MESH 2016SPACESHUTTLE\Columbia\Columbialate2016h2
; ---------------------------------------------
MATERIAL 2
REFLECT 0.254902 0.254902 0.254902
ROUGHNESS 0.850000
; =============================================
MESH 2016SPACESHUTTLE\Discovery\DiscoveryORG2016H2
; ---------------------------------------------
MATERIAL 2
REFLECT 0.254902 0.254902 0.254902
ROUGHNESS 0.850000
; =============================================
MESH 2016SPACESHUTTLE\Discovery\Discoverymid2016H2
; ---------------------------------------------
MATERIAL 2
REFLECT 0.254902 0.254902 0.254902
ROUGHNESS 0.850000
; =============================================
MESH 2016SPACESHUTTLE\Discovery\Discoverylate2016H2
; ---------------------------------------------
MATERIAL 2
REFLECT 0.254902 0.254902 0.254902
ROUGHNESS 0.850000
; =============================================
MESH 2016SPACESHUTTLE\Atlantis\\Atlantis2016H1
; ---------------------------------------------
MATERIAL 2
REFLECT 0.866667 0.866667 0.866667
ROUGHNESS 1.000000
; =============================================
but when I reload the scn the setting are not loaded?
F58r5fZ.jpg



Still nothing on the Pstream. Not sure if a texture is needed?
Code:
void Atlantis::CreateOMS()
{
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	for (int i = 0; i < 2; i++)
		AddExhaust (th_oms[i], 2.5, 0.6);

	PARTICLESTREAMSPEC OMSex = {0, .5, 100, 5.0, .6, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE,	PARTICLESTREAMSPEC::LVL_LIN,  PARTICLESTREAMSPEC::ATM_FLAT, 1};

	AddExhaustStream(th_oms[0], _V(-2.7, 3.50, -13.5), &OMSex);
	AddExhaustStream(th_oms[1], _V(2.7, 3.50, -13.5), &OMSex);

}
Here are the sc3 setting:
Code:
[TEXTURE_LIST]
TEX_1=Exhaust_atrcs

[PARTICLESTREAM_1]
NAME=OMSex
SRCSIZE=0.5
SRCRATE=1000
V0=5.0
SRCSPREAD=0.6
LIFETIME=0.10
GROWTHRATE=1.5
ATMSLOWDOWN=0
LTYPE=EMISSIVE
LEVELMAP=LVL_LIN
;LMIN=0
;LMAX=2
ATMSMAP=ATM_FLAT
AMIN=1
;AMAX=1

[PARTICLESTREAM_2]
NAME=LLRVex
SRCSIZE=0.15
SRCRATE=1000
V0=5
SRCSPREAD=0.01
LIFETIME=0.1
GROWTHRATE=0
ATMSLOWDOWN=0
LTYPE=EMISSIVE
LEVELMAP=LVL_LIN
;LMIN=0		
;LMAX=10
ATMSMAP=ATM_FLAT
AMIN=1
;AMAX=1

[CONFIG]
MESHNAME="ChallengerARM"
FOCUS=1
SIZE=3.6
CAMERA=(-0.60,2.55,14.32)
VISIBLE=1
EMPTY_MASS=79429
FUEL_MASS=21660
MAIN_THRUST=53400
RETRO_THRUST=0
HOVER_THRUST=0
ATTITUDE_THRUST=12740
ISP=5000
PMI=(78.2,82.1,10.7)
CW_Z_POS=0.2
CW_Z_NEG=0.5
CW_X=1.5
CW_Y=1.5
CROSS_SECTION=(234.8,389.1,68.2)
PITCH_MOMENT_SCALE=0.00001
BANK_MOMENT_SCALE=0.00002
ROT_DRAG=(0.43,0.43,0.29)
MAIN_PSTREAM1=OMSex
ATT_PSTREAM1=LLRVex
LAND_PT1=(0,-4.3,13.2)
LAND_PT2=(-4.76,-5.65,-4.3)
LAND_PT3=(4.76,-5.65,-4.3)

This give this effect.
ooSti55.jpg
 
So another issue. in D3D9 here I have set and saved the material setting for the reflectors.

in the GC folder there is a file named Shuttle2016B
[...]
but when I reload the scn the setting are not loaded?
Hmm as long as the file has the extension ".cfg" and the vessel class is still named "Shuttle2016B", it should just work.
As long as you haven't changed the parameter "ConfigDir" in "Orbiter_NG.cfg" that is.
 
Last edited:
So in the scn:
Code:
BEGIN_SHIPS
STS-125:Shuttle2016B
and yes the file extension is shuttle2016B.cfg in the GC folder. and this is my Orbiter_NG.cfg
Code:
; === ORBITER Master Configuration File ===
EchoAllParams = FALSE
LPadRect = -16 0 1920 1056

; === Visual parameters ===
EnableLocalLights = TRUE

; === Visual helper parameters ===
Planetarium = 5098

; === Device settings ===
DeviceIndex = 0
ModeIndex = 0
NoVSync = TRUE
StencilBuffer = TRUE
WindowWidth = 1900
WindowHeight = 1187

; === User interface parameters ===
SelVesselTab = 3

; === Window positions ===
DlgFocusPos = 472 293 790 685
LpadScnListWidth = 389
LpadModListWidth = 213
LpadExtListWidth = 213

; === Active plugin list ===
ACTIVE_MODULES
  ScnEditor
  Multistage2015_MFD
  D3D9Client
  CameraViewMFD
  CameraMFD
  CamControl
  GPCMFD
  Attachment Manager
END_MODULES
 
Last edited:
Looks fine!
:shrug:
I'll see if I can dig a little deeper on the weekend.
 
So not sure how to add a texture to the OMS effect?
Looked at the DG and got this:
Code:
void Atlantis::CreateOMS()

{

	contrail_tex = oapiRegisterParticleTexture("Contrail1a");
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	for (int i = 0; i < 2; i++)
		AddExhaust (th_oms[i], 2.5, 0.6);

	PARTICLESTREAMSPEC OMSex = { 0, .5, 100, 5.0, .6, 0.1, 1.5, 0, PARTICLESTREAMSPEC::EMISSIVE, PARTICLESTREAMSPEC::LVL_LIN, PARTICLESTREAMSPEC::ATM_FLAT,  1,contrail_tex};

	AddExhaustStream(th_oms[0], _V(-2.7, 3.50, -13.5), &OMSex);
	AddExhaustStream(th_oms[1], _V(2.7, 3.50, -13.5), &OMSex);


	



}
h:
Code:
SURFHANDLE contrail_tex;    // contrail particle texture
But got an error:
Error 24 error C2440: 'initializing' : cannot convert from 'SURFHANDLE' to 'PARTICLESTREAMSPEC::ATMSMAP' C:\Orbiter2016\Orbitersdk\samples\SPACESHUTTLE2016E4evaearlyvccammove\Atlantis.cpp 796 1 SPACESHUTTLE2016D
 
@gattispilot:
I've stepped through the parsing of your GC config and did not find anything too wrong...

Only "odd" thing was the double backslash in the last mesh name, but I have no idea whether this would make any difference:
Code:
; =============================================
MESH [COLOR="Blue"]2016SPACESHUTTLE\Atlantis[/COLOR][COLOR="Red"]\\[/COLOR][COLOR="Blue"]Atlantis2016H1[/COLOR]
; ---------------------------------------------
MATERIAL 2
REFLECT 0.866667 0.866667 0.866667
ROUGHNESS 1.000000
Maybe you could try "fixing" that. Maybe this changes something.
 
Thanks. Thanks worked. Now to figure the P stream issue

---------- Post added 03-06-20 at 05:55 AM ---------- Previous post was 03-05-20 at 04:07 PM ----------

Now the panels reflect
m5EFu6f.jpg


So still other issues. In SF they have animation save code for the Port ET Door and Starboard ET Door. Do we need that as there is one key that opens/close them?
 
Don't know what you mean by "save code".
 
Like this in the scn
where the animation saved state is saved.

PETD 0 0.0000
SETD 0 0.0000

Do we need 2 animation state or just go with one
 
They need to open separately.
 
So in the scn You can set one open and one closed. But CTRL=J closes or opens both.
 
I really don't see a need, to have one open and one closed in a scenario.
 
Not sure either. But some scn did have it like this:
Code:
  PETD 0 0.0000
  SETD 1 1.0000

So on the OMS no idea. I followed the DG and nothing. When I fire thm it shuttle bay lights up from the exhaust.
Code:
void Atlantis::CreateOMS()

{

	contrail_tex = oapiRegisterParticleTexture("Exhaust_atrcs");
	th_oms[0] = CreateThruster (THRUSTREF_OMSL, THRUSTDIR_OMSL, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	th_oms[1] = CreateThruster (THRUSTREF_OMSR, THRUSTDIR_OMSR, ORBITER_OMS_THRUST, ph_oms, ORBITER_OMS_ISP0, ORBITER_OMS_ISP1);
	// we don't yet define a thruster group for the OMS engines
	// They will be assigned to the MAIN group as soon as the ET is jettisoned
	//for (int i = 0; i < 2; i++)
	//	AddExhaust(th_oms[i], 1, 0.1); //2.5, 0.6

	PARTICLESTREAMSPEC OMSex = { 
		0, 2.0, 13, 150, 0.1, 0.2, 16, 1.0, PARTICLESTREAMSPEC::EMISSIVE,
		PARTICLESTREAMSPEC::LVL_SQRT, 0, 1,
		PARTICLESTREAMSPEC::ATM_PLOG, 1e-5, 0.1
	};

	AddExhaustStream(th_oms[0], _V(-2.7, 3.50, -13.5), &OMSex);
	AddExhaustStream(th_oms[1], _V(2.7, 3.50, -13.5), &OMSex);

}
So maybe just a pstream. But not sure why it isn't working.

An odd thing was in STS 61C when the sat is released the OMS fire?
If I delete this then no issue:
Code:
SATCOM-KU2:STS_PAYLOADS\SATCOM
  STATUS Orbiting Earth
  RPOS -4172179.463 -4757116.316 8722506.601
  RVEL -5376.1155 -2029.7648 -5132.7156
  AROT -115.723 -39.146 -144.413
  VROT -0.0128 -0.0387 -0.0028
  ATTACHED 0:0,PAM2
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 50 100
  CONFIGURATION 0
  TIME 235.117748
  TZero -2700.000000
  MET 0.000000
  PANEL 0 0.0000
END


---------- Post added 03-08-20 at 06:30 AM ---------- Previous post was 03-07-20 at 03:35 PM ----------

So I tried sts61C using SF and it spun and launched and did not fire the OMS. So it seems to be in my code. I wonder if there is a way to protect my code from being influenced by other vessels?
 
Last edited:
Back
Top