Discussion Space: 1999 updates ?

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
ok I no sound. So I am running it in debugger.
the vessel is tcar2comp
From the debugger I get this:
JohnSoundID 13 int

Code:
#define ORBITER_MODULE
#include "orbitersdk.h"
#include "COMPNGA3.h"
#include "COMPNGA3BMESH.h"
#include "OrbiterSoundSDK35.h"
#define ENG 				1	
#define START 				2	
#define STOP 				3




//#define doorsound	1
//#define undocksound 2
//#define reqdoor	3
#define doorsound2	4
#define DESIGNATION	5
#define DESIGNATIONACCEPTED	6
//#define ENG	7
//#define CANNON	38
VISHANDLE MainExternalMeshVisual = 0;



Code:
void COMPNGA3::clbkPostCreation (void)
{{
	DWORD mode=GetADCtrlMode ();
	mode|=32;
	SetADCtrlMode (mode);
}
JohnSoundID=ConnectToOrbiterSoundDLL3(GetHandle());
RequestLoadVesselWave3(JohnSoundID,ENG,"Sound\\Vessel\\LASERTANK\\Tank-go.wav",BOTHVIEW_FADED_FAR);
RequestLoadVesselWave3(JohnSoundID,START,"Sound\\Vessel\\TCARS\\door1c.wav",BOTHVIEW_FADED_FAR);
//RequestLoadVesselWave3(JohnSoundID,CANNON,"Sound\\Vessel\\LASERTANK\\LASER.wav",BOTHVIEW_FADED_FAR);
SoundOptionOnOff3(JohnSoundID,PLAYMAINTHRUST,FALSE);

SoundOptionOnOff3(JohnSoundID,PLAYHOVERTHRUST,FALSE);
SoundOptionOnOff3(JohnSoundID,PLAYATTITUDETHRUST,FALSE);

SoundOptionOnOff3(JohnSoundID,PLAYCOUNTDOWNWHENTAKEOFF,FALSE);

SoundOptionOnOff3(JohnSoundID,PLAYCABINAIRCONDITIONING,FALSE);

SoundOptionOnOff3(JohnSoundID,PLAYCABINRANDOMAMBIANCE,FALSE);

SoundOptionOnOff3(JohnSoundID,PLAYRADIOATC,FALSE);

SoundOptionOnOff3(JohnSoundID,DISPLAYTIMER,FALSE);


Code:
if(ActionAreaReturnCode==4 )//at COMPUTER
		{
			// do something cool here, doors animation, system activation or repairing etc. Etc.
			//PlayVesselWave3(JohnSoundID,doorsound2);
			PlayVesselWave3(JohnSoundID,START); 
//[COLOR="Red"]breakpoint[/COLOR]
			if (TCAR1_status==DOOR_UP && TCARSTA2_status==DOOR_UP)//TCAR1 PRESENT AND DOOR OPEN
			{
				RevertTCARSTA2();
				oldsimt=simt;
			}
			else if(TCARSTA2_status==DOOR_DOWN && TCAR1_status==DOOR_DOWN)//TCAR2 PRESENT AND DOOR OPEN AND TCAR1 PRESENT
			{
				RevertTCARSTA2();
				oldsimt=0;
			}
			if(TCARSTA2_status==DOOR_UP && TCAR1_status==DOOR_DOWN)//TCAR2 PRESENT AND  TCAR1  NOT PRESENT SO MOVE TCAR1
			{
				RevertTCAR1();
			}
			
		}


soundlog:
Vessel NEWWP requested an ID, returned= 0 OK
Vessel DEPOT requested an ID, returned= 1 OK
Vessel tpad requested an ID, returned= 2 OK
Vessel JDome4 requested an ID, returned= 3 OK
Vessel FUELSTORE requested an ID, returned= 4 OK
Vessel UMmu_99C-John_Koenig requested an ID, returned= 5 OK

Vessel UMmu_99T-Marc_Kingsley requested an ID, returned= 6 OK

Vessel UMmu_9DM3-Dr_Mattias requested an ID, returned= 7 OK

Vessel UMmu_99N1-Julianna_Harvey requested an ID, returned= 8 OK

Vessel UMmu_99N2-Kelly_Mac_Reilly requested an ID, returned= 9 OK

Vessel UMmu_99N3-Caroline_Loiseau requested an ID, returned= 10 OK

Vessel UMmu_99SB-Sandra_Benes requested an ID, returned= 11 OK

Vessel UMmu_99N4-Zoe_Prentis requested an ID, returned= 12 OK

Vessel tcar2comp requested an ID, returned= 13 OK
Vessel TCARLP4 requested an ID, returned= 14 OK
Vessel MBATCAR requested an ID, returned= 15 OK
Vessel TCARHYDRO requested an ID, returned= 16 OK
attempting focus change...
Focus not ready bypassing focus change - Ok
Attempting RenderViewport initialisation...
Attempting GetStartValue initialisation...
Passed GetStartValue - Ok
Initialising directsound...
directsound initialised - OK
Passed RenderViewport - Ok
Attempting Mp3 initialisation...
MP3 found in playlist = 1
Mp3 initialised - Ok
Focus changed attempting to load vessel wave
Focus changed load vessel wave - OK
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
The base is basically done. On the sound issue. I wonder if it is a program issue.

From the Ummu I can raise/lower the pad on the Moon Base. But hear no sound of the pad. But If I switch to the base and do it I hear the sound.

Any ideas?
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Main Power Unit:
NPS1.jpg

NPS2.jpg

NPS3.jpg



I think a forcefield mesh might be created.
This will located in the center hub. The Converter Main Unit panel will rise up.


On the sound. Dan mentioned because the focus is on the Ummu you would hear the vessel sound.

So it looks like the sounds will play only in the action area set up. But the sound should only play when the animation is moving not just because the Ummu sets it off.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
The Main Power Unit. A force field could be generated.

MPU1.jpg

MPU2.jpg

MPU3.jpg

MPU4.jpg

MPU6.jpg


I have a mesh that covers the base but you can't see the base thru it though.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Airlock and buggy garage on the end of the Technical section
WINDOWOBS1.jpg

WINDOWOBS2.jpg

Now we have an updated Medical section.
Isolation room:
MEDICALCENTER4.jpg


and Medical office:
MEDICALCENTER5.jpg
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
OK I have run into a major issue. So I hope someone can help. On one tcar system we are using 2 animations and attachments to achieve the travel. The reason is because the tube goes straight and then turns and then goes so more.

So we move each car from their starting position to the end postion _proc =1.0 for each.

Code:
if(TCAR4_status==DOOR_UP )//&& TCARSTA21_status==DOOR_UP )
			{
				RevertTCAR4();
			}
			if(TCAR5_status==DOOR_UP)// && TCARSTA21_status==DOOR_UP )
			{
				RevertTCAR5();
			}

both animations work great :
Code:
sprintf(oapiDebugString(),"TCAR4PROC%2f TCAR5PROC%2f ",TCAR4_proc,TCAR5_proc);

if (TCAR4_status >= DOOR_RAISING) 
{
		double da = simdt * (LIFT_SPEED/4);
		PlayVesselWave3(HYDROLP15PSoundID,doorsound2);
		if (TCAR4_status == DOOR_RAISING) 
		{
		if (TCAR4_proc > 0.0)//TCAR AT DOME AND MOVES TO RING
			{

				//BUG7 = InsertMesh ("DOORS/LP1RINGDOORWAY_C2",BUGG,0);
				//SetMeshVisibilityMode (BUG7, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY_C2",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_C2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				TCAR4_proc = max (0.0, TCAR4_proc-da);
				//(-259.5384,0.0,52.66232))     588.1852 -0.81754 -120.4116  291.8954 -0.4095641  230.5905  72.7477,0.0,-100.1191  
				//SetAttachmentParams(TCAR4,_V( 291.8954+(72.7477*TCAR5_proc),-.4,230.5905+(-100.1191*TCAR5_proc)), _V(0,1,0), _V(0.587821827651815,0,-0.808990419557661));
			}
			else
			{
				TCAR4_status = DOOR_UP;
				//BUGG = InsertMesh ("DOORS/LP1RINGDOORWAY_A2",BUGG,0);
				//SetMeshVisibilityMode (BUGG, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY_A2",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_A2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				
				oldsimt=simt;
			}
		}
		else 
		{

			if (TCAR4_proc < 1.0)
			{
				//BUGG = InsertMesh ("DOORS/LP1RINGDOORWAY_C2",BUGG,0);
				//SetMeshVisibilityMode (BUGG, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY_C2",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_C2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				TCAR4_proc = min (1.0, TCAR4_proc+da);
				//SetAttachmentParams(TCAR5,_V( 291.8954+(72.7477*TCAR5_proc),-.4,230.5905+(-100.1191*TCAR5_proc)), _V(0,1,0), _V(0.587821827651815,0,-0.808990419557661));
			}
			else
			{
				TCAR4_status = DOOR_DOWN;
				//BUGG = InsertMesh ("DOORS/LP1RINGDOORWAY_A2",BUGG,0);
				//SetMeshVisibilityMode (BUGG, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_A2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				
				oldsimt=simt;
			}
			SetAnimation (anim_TCAR4A, TCAR4_proc);	
		}
		
}

//tcar5
if (TCAR5_status >= DOOR_RAISING) 
{
	

		double da = simdt * (LIFT_SPEED/4);
		PlayVesselWave3(HYDROLP15PSoundID,doorsound2);
		if (TCAR5_status == DOOR_RAISING) 
		{
		if (TCAR5_proc > 0.0)//TCAR AT DOME AND MOVES TO RING
			{

				BUG7 = InsertMesh ("DOORS/TSDOOR1",BUG7,0);
				SetMeshVisibilityMode (BUG7, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY_C2",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_C2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				TCAR5_proc = max (0.0, TCAR5_proc-da);
				//(-259.5384,0.0,52.66232))     588.1852 -0.81754 -120.4116  291.8954 -0.4095641  230.5905  72.7477,0.0,-100.1191  
				//SetAttachmentParams(TCAR5,_V( 291.8954+(72.7477*TCAR5_proc),-.4,230.5905+(-100.1191*TCAR5_proc)), _V(0,1,0), _V(0.587821827651815,0,-0.808990419557661));
			}
			else
			{
				TCAR5_status = DOOR_UP;
				//BUGG = InsertMesh ("DOORS/LP1RINGDOORWAY_A2",BUGG,0);
				//SetMeshVisibilityMode (BUGG, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY_A2",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_A2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				
				oldsimt=simt;
			}
		}
		else 
		{

			if (TCAR5_proc < 1.0)
			{
				BUG7 = InsertMesh ("DOORS/TSDOOR1",BUG7,0);
				SetMeshVisibilityMode (BUG7, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY_C2",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_C2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				TCAR5_proc = min (1.0, TCAR5_proc+da);
				//SetAttachmentParams(TCAR5,_V( 291.8954+(72.7477*TCAR5_proc),-.4,230.5905+(-100.1191*TCAR5_proc)), _V(0,1,0), _V(0.587821827651815,0,-0.808990419557661));
			}
			else
			{
				TCAR5_status = DOOR_DOWN;
				//BUGG = InsertMesh ("DOORS/LP1RINGDOORWAY_A2",BUGG,0);
				//SetMeshVisibilityMode (BUGG, MESHVIS_ALWAYS);
				//BUG8 = InsertMesh ("DOORS/DININGDOORWAY",BUG8,0);
				//SetMeshVisibilityMode (BUG8, MESHVIS_ALWAYS);
				//BUGI = InsertMesh ("DOORS/LP1DOORWAY_A2",BUGI,0);
				//SetMeshVisibilityMode (BUGI, MESHVIS_ALWAYS);
				
			}
				
				oldsimt=simt;
		}
		SetAnimation (anim_TCAR5A, TCAR5_proc);
}

I can see what the _proc values are. But if I uncomment the insert mesh line. only the tcar5 animation moves the tcar4 doesn't. Even though tcar4_proc =1.0. But what is odder when the ummu moves down to tcar4 position he attaches correctly but the animation starts from the _proc=0.0 even though the Tcar4_proc is correct.



Fixed. if the status of Tcar4 is set to 1 in the scenario all works
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
:shrug:

OK. Asking for coding help because we are trying to combine 3 tcar lines into 1.
So you travel down one tube via attachment, detach and then attach to the new car and travel to the end.

This all works. But if you switch the focus to another Ummu is process then it attaches that Ummu rather than the previously attached Ummu.

Code:
DetachChild(TCAR2,0);

				if (DEST==3){
					AttachUmmu3();
					RevertTCAR3();
							}
				
				
				if (DEST==1){
					AttachUmmu1();
					RevertTCAR1();
							}
			}

so here the ummu is deattached and then then depending on which car is next they are attached to UMM1 or UMMU3 and the the car moves

here is how we attach:
Code:
void TCARRING2::AttachUmmu1(void)
{
		OBJHANDLE hV=oapiGetFocusObject();
		VESSEL *v=oapiGetFocusInterface();
		UMMU1=v->GetAttachmentHandle(true,1);
		if(!GetAttachmentStatus(TCAR1))
		{
			AttachChild(hV,TCAR1,UMMU1);
		}

		
	
}
void TCARRING2::AttachUmmu2(void)
{
		OBJHANDLE hV=oapiGetFocusObject();
		VESSEL *v=oapiGetFocusInterface();
		UMMU1=v->GetAttachmentHandle(true,1);
		if(!GetAttachmentStatus(TCAR2))
		{
			AttachChild(hV,TCAR2,UMMU1);
		}

		
	
}
void TCARRING2::AttachUmmu3(void)
{
		OBJHANDLE hV=oapiGetFocusObject();
		VESSEL *v=oapiGetFocusInterface();
		UMMU1=v->GetAttachmentHandle(true,1);
		if(!GetAttachmentStatus(TCAR3))
		{
			AttachChild(hV,TCAR3,UMMU1);
		}
}

any ideas?
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Ok, now the Base has been released. I can now focus of the Eagle Hangar. It can be used for lots of vessels also.

The one coding issue I am having is to move the camera as the attachment moves. I can do this but you have to keeping switching the camera I guess refresh. I want the camera to follow the movement of the attachment so you can see where you need to move the crane aka attachment point.

Code:
void EAGLEHANGAR::SelectCockpitView (int CAM)
{

     switch (CAM) {
 case 0:  //PAD1
          SetCameraDefaultDirection (_V(0,-1,0));
          SetCameraOffset (_V(0,100,0));
		  oapiCameraSetCockpitDir (0,0);
          break;
 case 1:  //PAD2
          SetCameraDefaultDirection (_V(0,-1,0));
          SetCameraOffset (_V(400,160,0));
		  oapiCameraSetCockpitDir (0,0);
          break;
		  case 2:  //PAD2
          SetCameraDefaultDirection (_V(0,0,-1));
          SetCameraOffset (_V(171.6043,14,131.498));
		  oapiCameraSetCockpitDir (0,0);
          break;
		  case 3:  //PAD2
          SetCameraDefaultDirection (_V(0,-1,0));
          SetCameraOffset ((CAM_pos));
		  oapiCameraSetCockpitDir (0,0);
          break;
		  case 4:  //PAD2
          SetCameraDefaultDirection (_V(0,0,-1));
          SetCameraOffset ((CAM1_pos));
		  oapiCameraSetCockpitDir (0,0);
          break;


	 }}

this selects the camera position. The last 2 CAM_pos and CAM1_pos are the the crane. One looks down and the other is a side view so you can tell how far to raise/lower the vessel attached.

Sets CAM_pos to R1 position which is the attachment.

Code:
void EAGLEHANGAR::clbkPostStep(double simt, double simdt, double mjd)
....
{
CAM_pos.x=R1_pos.x ;
CAM_pos.z=R1_pos.z ;
CAM_pos.y=18 ;
}

If it is not possible then I may have to set up a series of cameras and a model so you can see where the crane is.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Reentry Glider: This was used to land on a planet with corrosive atmosphere per the show.
EAGLEGLIDER5.jpg

EAGLEGLIDER6.jpg

eagleglider7.jpg


To get inside this vessel you entered underneath through a tunnel in the is recon pod.

Some thing we are looking at is the booster pods for the Eagle. Not sure about the practically of the top booster by the angle of the thrusters I would think it would push the Eagle down.

http://www.space1999.net/catacombs/main/cguide/umeaglextras.html


Still working on the camera issue, any help would be appreciated.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
On the hangar, I decided to go with a control monitoring section. From this view you can see where the crane is, if the hangar doors are open/closed and if the pads are elevated or not.

hangarcontrol2.jpg


I got the camera to move with the attachment point by using this code:
Code:
if (CAM==3){
	SetCameraDefaultDirection (_V(0,-1,0));
          SetCameraOffset ((CAM2_pos));
		  oapiCameraSetCockpitDir (0,0);
}

in this
void EAGLEHANGAR::clbkPostStep(double simt, double simdt, double mjd)
EHANGAR17.jpg


this works but the camera is in advance of the point but when I stop it centers up
EHANGAR18.jpg
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
REdid the glider to allow for control surfaces.
GLIDERCONTROL.jpg


it is based off this: HYPERIII
http://www.dfrc.nasa.gov/gallery/photo/HyperIII/index.html

but not sure what I need to adjust to allow it to glide rather than sink

Code:
SetSize (15);
	SetEmptyMass (200.0);
	SetCW (0.3, 0.3, 0.6, 0.9);
	SetWingAspect (0.1);
	SetWingEffectiveness (0.1);
	SetCrossSections (_V(21.63,22.56,9.82));
	SetRotDrag (_V(0.1,0.1,0.1));
	if (GetFlightModel() >= 1) {
		SetPitchMomentScale (1e-4);
		SetBankMomentScale (1e-4);
	}
	SetPMI (_V(22.05,22.56,1.49));
	SetTrimScale (0.05);
	SetCameraOffset (_V(0,1.4,-3));
	
	SetTouchdownPoints  (_V(0,-.652,1), _V(-1.6,-.652,-1), _V(1.6,-.652,-1));; 
EnableTransponder (true);
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
I got it to fly better. But have a question on the control surface animation. I have the animation for elevators when the animation state is 0 down. So when the state is .5 it is straight./level. When the scenario starts though it is at animation state 0 until I press the key then it sets it right.

Code:
	CreateControlSurface (AIRCTRL_ELEVATOR,     7, 0.5, _V(   0,0,-17), AIRCTRL_AXIS_XPOS,anim_ELEVATOR);
		CreateControlSurface (AIRCTRL_ELEVATOR,     7, 0.5, _V(   0,0,-17), AIRCTRL_AXIS_XPOS,anim_ELEVATOR1);

Code:
static UINT WGrp7[1] = {4};//leftelevator
   static MGROUP_ROTATE elevator (0,WGrp7, 1, _V(2.375, -0.13, -5.975), _V(0.948683298050514,0,0.316227766016838), (float)(-64*RAD));
 anim_ELEVATOR = CreateAnimation (.5);
   
   AddAnimationComponent  (anim_ELEVATOR, 0, 1, &elevator);

   static UINT WGrp17[1] = {7};//right
   static MGROUP_ROTATE elevator1 (0,WGrp17, 1, _V(-2.375, -0.13, -5.975), _V(.9,0,-.3), (float)(-64*RAD));
 anim_ELEVATOR1 = CreateAnimation (.5);
   
   AddAnimationComponent  (anim_ELEVATOR1, 0, 1, &elevator1);
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Eagle hangar repair

It has a rail system to the vessels from the pad for storage. One side is Eagle sized the other one is bigger for other craft

eaglehangar12.jpg

eaglehangar13.jpg
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Thanks. the frame head moves on a x,y,and z axis. Ideally it should rotate but wasn't able to code it.

I think also a attachment point so you can attach a RMS arm to it to get other items
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,740
Reaction score
2,716
Points
203
Location
Dallas, TX
Hangar and Command Center built. The last piece is the Reentry Glider. The mesh is built. But the coding needs work. The flight dynamics need to be adjusted. I need to adjust the glide ratio but not sure what values to adjust.
 
Top