Project Explorer (Babylon 5) Deep Space Vessel

Status
Not open for further replies.

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Nice.
But you should do something with the back all of the hangar.

I agree, but that will probably happen later. My main goal was to get the Explorer class out there with a .dll. I've accomplished that, and also added a couple things (UMMU support, for example). I like what I've done so far, but I'm not finished by any means. I have lots of ideas I'd like to implement on this ship, but will include them in future releases/updates. Like UCGO support. I just can't make up my mind where I want the cargo slots to be. But that's another discussion altogether.

Will work over the next few evenings to add approach lights to the lower hangars, and create a basic doc in pdf format. I'll probably attach one more release to the thread for testing, then upload to OHM shortly after.
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Well, it has been over a month since I've posted any updates on this project, and likewise since I've even had time to touch the code for the Cortez. Regardless, I'm pleased to report that I just finished adding docking indicators and approach lighting to the first of the lower hangars. I made the 'docking' indicator a darker blue color as opposed to the green I used in the main hangar, just to offer some differentiation. I realize this lighting isn't necessarily cannon with the Babylon 5 version of the ship, but I just felt it was necessary to have some sort of temporary indicator in place for the positions of the docks until I can think of a better way to manage landing/docking in the bays.

I plan to add identical lighting to the second lower hangar tomorrow evening or possibly Monday. Once complete I'll upload to the first post of the thread and let everyone that wants to get a chance to offer any suggestions for improvement before I call this particular version done.

---------- Post added 07-31-11 at 06:04 AM ---------- Previous post was 07-30-11 at 09:41 PM ----------

New update attached to the first post.

Approach lighting in the uppermost shuttle bay has been completed, and the docking port indicators have been added to the lower shuttle bay. I did a test docking run with an XR2 on the lower bay, without the approach lighting, and immediately I changed my thinking.

I am considering scrapping the idea of having approach lights at each docking bay, in favor of having three rows of approach lighting extending from the edge of the hangar up to the back row of docking bays. I feel this would provide a sufficient (and more realistic) visual guide for lateral alignment when docking/landing, in conjunction with use of the Docking MFD. I would then outline a basic approach method in the documentation for each docking/landing bay.

In the main hangar, there would only be the bottom row of lights, and in the lower bays, possibly a row on the ceiling of the bay as well for a visual reference, with the top row extending almost all the way to the far end of the bay.

I will make this change and add it to the lower hangar bay, then upload, hopefully later today, with both methods in place for comparison.
 
Last edited:

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
I definitely like the newer approach lighting method better than the previous way I was doing it. I will be changing the other two bays to this configuration in the next few days.

---------- Post added at 12:04 PM ---------- Previous post was at 07:04 AM ----------

Just downloaded the RC3 package on another machine that didn't have it previously installed. Looks like I have some config files improperly named, getting a CTD. Will try to find time to fix this evening & reupload.

---------- Post added at 12:17 PM ---------- Previous post was at 12:04 PM ----------

Fixed.

---------- Post added at 12:54 PM ---------- Previous post was at 12:17 PM ----------

Forgot to mention, I slipped in a rework of the front shielding textures in that last upload. Cartoony appearance is gone completely, even better than the previous improvement I attempted, at least in my opinion.
 
Last edited:

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Quick coding question. Can someone point me to a good simple sketchpad example that would help me finish making this code (UMMU messages) compatible with the new callbacks so I no longer have to use GDI compatibility mode to see the UMMU HUD messages?
Code:
bool Explorer::clbkDrawHUD(int mode, const HUDPAINTSPEC *hps, oapi::Sketchpad *skp)
{
	// draw the default HUD
	VESSEL3::clbkDrawHUD (mode, hps, skp);

	// UMmu display messages
	if(dHudMessageDelay>0)
	{
		TextOut (hDC,5,hps->H/60*15,cUmmuHudDisplay,strlen(cUmmuHudDisplay));
		dHudMessageDelay-=oapiGetSimStep();
		if(dHudMessageDelay<0)
			dHudMessageDelay=0;
	}
}

I realize the problem lies with TextOut, but what replaces that?

Thanks,
n122vu
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,617
Reaction score
2,337
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Why don't you use the Sketchpad class for that? It has methods that implement the GDI rendering in a device independent way.
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Why don't you use the Sketchpad class for that? It has methods that implement the GDI rendering in a device independent way.

Is there a good example available for using Sketchpad in a HUD?
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,617
Reaction score
2,337
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Is there a good example available for using Sketchpad in a HUD?

Luckily I didn't yet make the HUD of the black Dart use the new abstracted rendering code.

Code:
bool BlackDart::clbkDrawHUD(int iMode, const HUDPAINTSPEC *hps, oapi::Sketchpad *sp) {

    char pszBuffer[100];
    char pszMode1[10],pszMode2[10];
    bool result = VESSEL3::clbkDrawHUD(iMode, hps, sp);
    switch(iMode)
    {
    case HUD_SURFACE:
        break;
    }
    DrawHUDGearInd(hps, sp);
    DrawSpeedBrakeInd(hps, sp);
    DrawTVCInd(hps, sp);

    if(bUsesOMS)
    {
        sprintf_s(pszBuffer, 100, "OMS");
        sp->Text((int)(hps->W * 0.45), (int)(hps->H * 0.45), pszBuffer, 3);
    }

    if(thrustMode == THRUST_LOW)
    {
        sprintf_s(pszBuffer, 100, "LOW");
        sp->Text((int)(hps->W * 0.55), (int)(hps->H * 0.45), pszBuffer, 3);
    }


    if(hps->W > 512) {
    
        sprintf_s(pszBuffer, 100, "UMMU CREW SIZE: %d", ummu.GetCrewTotalNumber());
        sp->Text(10, hps->H/5, pszBuffer, strlen(pszBuffer));

        sp->MoveTo(10, hps->H/5 + 18);
        sp->LineTo(200, hps->H/5 + 18);

        for(int i = 0; i<ummu.GetCrewTotalNumber(); i++) {
            sprintf_s(pszBuffer, 100, "%20s [%d] [%d]", 
                ummu.GetCrewNameBySlotNumber(i), 
                ummu.GetCrewAgeBySlotNumber(i),
                ummu.GetCrewPulseBySlotNumber(i));
            sp->Text(10, hps->H/5 + 20 + 18*i, pszBuffer, 
                strlen(pszBuffer));
        }

        
        sprintf_s(pszBuffer, 100, "Pc[MPa] : %7.3f", 
            GetChamberPressure()/1.0E6);
        sp->Text(10, hps->H*2/5 - 24, pszBuffer, strlen(pszBuffer));
    
        switch(NozzleExtMode) {
            case NEM_RETRACT:
                strcpy(pszMode1, "RET");
                break;
            case NEM_AUTO:
                strcpy(pszMode1, "AUTO");
                break;
            case NEM_DEPLOY:
                strcpy(pszMode1, "DPY");
                break;
        }

        if(NozzleExtState.Closed()) {
            strcpy(pszMode2, "RET");
        } else if (NozzleExtState.Open()) {
            strcpy(pszMode2, "DPY");
        } else {
            strcpy(pszMode2, "///");
        }

        sprintf_s(pszBuffer, 100, "NOZZLE EXT: %4s [%3s]", 
                pszMode1, pszMode2
            );
        sp->Text(10, hps->H*2/5, pszBuffer, strlen(pszBuffer));

        if(MEDoorState.Open())
            strcpy(pszMode1, " OP");
        else if(MEDoorState.Closed())
            strcpy(pszMode1, " CL");
        else
            strcpy(pszMode1, "///");
    
        sprintf_s(pszBuffer, 100, "HOVER DOORS: [%3s]", 
            pszMode1);
        sp->Text(10, hps->H*2/5+18, pszBuffer, strlen(pszBuffer));

        if(LeftPylonState.Open())
            strcpy(pszMode1, "RET");
        else if(LeftPylonState.Closed())
            strcpy(pszMode1, "DPY");
        else
            strcpy(pszMode1, "///");

        if(RightPylonState.Open())
            strcpy(pszMode2, "RET");
        else if(RightPylonState.Closed())
            strcpy(pszMode2, "DPY");
        else
            strcpy(pszMode2, "///");
    
        sprintf_s(pszBuffer, 100, "PYLONS: [%3s] / [%3s]", 
            pszMode1, pszMode2);
        sp->Text(10, hps->H*2/5+36, pszBuffer, strlen(pszBuffer));
    }
    return result;
}

Really historic code, but already ported to 2010. :lol:
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Awesome. Working perfectly.

Thanks Urwumpe :thumbup:

Here's the changed code.
Code:
// UMmu display messages
	if(dHudMessageDelay>0)
	{
		skp->Text(5,hps->H/60*15,cUmmuHudDisplay,strlen(cUmmuHudDisplay));
		dHudMessageDelay-=oapiGetSimStep();
		if(dHudMessageDelay<0)
			dHudMessageDelay=0;
	}
    return true;
 
Last edited:

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
One piece of advice to save on typing: define a TEXTOUT parameterized macro that would work within clbkDrawHUD. never underestimate the power of the preprocessor :p
 

Roady

New member
Joined
May 3, 2008
Messages
9
Reaction score
0
Points
1
Hi,am i doing something wrong,or is the Ship not equiped with an Transponder??
Because,if i try to tune the XPDR via Com/NAV,i have no Option for that.
And if i add,maybe " XPDR 466"th the Ship in a Scenariofile,nothin happens.....

Roady
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Hi,am i doing something wrong,or is the Ship not equiped with an Transponder??
Because,if i try to tune the XPDR via Com/NAV,i have no Option for that.
And if i add,maybe " XPDR 466"th the Ship in a Scenariofile,nothin happens.....

Roady

Wow, can't believe I missed that. I'm actually preparing to upload a new version. I'll add this fix and get it attached shortly. Look for it at the beginning of the thread. Will be designated RC4.

Thanks for catching that!

Regards,
n122vu

---------- Post added at 09:05 PM ---------- Previous post was at 08:28 PM ----------

Fixed. New version uploaded.

Lots of changes with the approach lights, plus added custom announcements/callouts for crew module rotation start and stop. Getting very close to satisfied with the way the ship is for release. Barring any major issues, this will likely be the last RC before upload to O-H.
 

Roady

New member
Joined
May 3, 2008
Messages
9
Reaction score
0
Points
1
Great,trying it out as soon as i get Sparetime,cause im going to BBQ and :cheers:
btw,any Chance to get 1 or 2 "vertical" Dockingports,for something like the XR5?

Roady
 

Izack

Non sequitur
Addon Developer
Joined
Feb 4, 2010
Messages
6,665
Reaction score
13
Points
113
Location
The Wilderness, N.B.
Great,trying it out as soon as i get Sparetime,cause im going to BBQ and :cheers:
btw,any Chance to get 1 or 2 "vertical" Dockingports,for something like the XR5?

Roady
Well, you can add any docking ports you like into the vessel's config file; they'll just stack on top of the hardcoded docks. This way, everyone's Cortez can be tailored to his own fleet. :speakcool:
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
I just flew a rendezvous with an XR2 from KSC. Two things I noticed that I'm going to try and fix:

1. Unable to select docking ports using the TGT function from the Dock MFD. All 24 are listed, but not selectable. All are showing free in the info screen. However they are usable if I manually tune one of the NAV channels to the correct frequency.

2. In LEO, around 637km circular orbit, Cortez had a heck of a time holding Prograde. As a result, approach and docking was very tedious, though achievable. I suppose it was akin to landing an F18 on the pitching deck of an aircraft carrier. Made for a nice challenge, but I need to work on thruster placement or strength a bit, I think.

Also, in the shadow of the planet, the ship is mostly dark save for the landing decks, which is fine, but the outside of the bays are emissive also. Need to correct that so only the decks are 'lit up,' as it were.
 

Roady

New member
Joined
May 3, 2008
Messages
9
Reaction score
0
Points
1
Well, you can add any docking ports you like into the vessel's config file; they'll just stack on top of the hardcoded docks. This way, everyone's Cortez can be tailored to his own fleet. :speakcool:
If you can show me how to change Port2 for the XR5,the middle one in the large Bay,i would be very grateful :cheers:
I tried now for about 2 hours,but no luck....

Roady
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Hi n122vu,are you going to add UCGO to this also?:cheers:

Eventually, yes. I did have some preliminary UCGO support in an earlier version (there's a screenshot earlier in this thread of an XR2 with 2 containers beside it). However I hadn't decided how/where I wanted to place the UCGO cargo slots. All in main hangar, divided between the hangar and the lower bays, etc. So for the time being I removed UCGO.

I am open to suggestions though.

---------- Post added at 05:36 PM ---------- Previous post was at 05:13 PM ----------

If you can show me how to change Port2 for the XR5,the middle one in the large Bay,i would be very grateful :cheers:
I tried now for about 2 hours,but no luck....

Roady

Or, another option you have is you could add an 'invisible' dock to the config of the XR5 that allows it to use the existing dock on the Cortez...

Let me work on an example for you...

---------- Post added at 06:55 PM ---------- Previous post was at 05:36 PM ----------

Roady, if you add the following lines to the file \Config\Vessels\XR5Vanguard.cfg I think it will give you the desired effect.

Code:
BEGIN_DOCKLIST
0 -7.2 28.16     0 0 1    0 1 0    569 
END_DOCKLIST

This will create an invisible, but usable, Dock 2 on the Vanguard, which you can use to 'land' in any parking spot on the Cortez.

Here she is in the middle spot:


Hope this helps!
 
Last edited:

Interceptor

Well-known member
Joined
Mar 28, 2008
Messages
2,718
Reaction score
76
Points
63
Location
Michigan,Florida
Hey n122vu how about something like the UCGO cargo in racks in hispas Longshot 3.0, I know he uses woo482s cargo racks.Just a thought.:tiphat:
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
Hey n122vu how about something like the UCGO cargo in racks in hispas Longshot 3.0, I know he uses woo482s cargo racks.Just a thought.:tiphat:

I'll take a look at the Longshot & see how he does it.

I did try making some slots along the struts, between the gravity wheel and the hangar bays, but on the outside. The cargo modules are so small that they can barely be seen next to such a massive ship. Maybe put them on the inside, near the aft edge of the main hangar? Of course, to make it more 'realistic,' so to speak, maybe I should create the maintenance drone for fetching/storing cargo from the racks.... :hmm:

**EDIT**
Running into the same issue doing it this way as I did trying to use UCD as a 'docking' solution. The farthest from a vessel's center you can place an item with UCD is 999.99 m from the vessel's center, which puts the furthest payload about 3/4 the way down the struts from the gravity wheel. Another option I guess would be to create attachment points on the Cortez and manually attach the XR5 cargo racks to them. Will keep playing with this.
 
Last edited:

Interceptor

Well-known member
Joined
Mar 28, 2008
Messages
2,718
Reaction score
76
Points
63
Location
Michigan,Florida
I'll take a look at the Longshot & see how he does it.

I did try making some slots along the struts, between the gravity wheel and the hangar bays, but on the outside. The cargo modules are so small that they can barely be seen next to such a massive ship. Maybe put them on the inside, near the aft edge of the main hangar? Of course, to make it more 'realistic,' so to speak, maybe I should create the maintenance drone for fetching/storing cargo from the racks.... :hmm:

I like the way you think,maybe even a RMS or something similar.Thanks
 
Status
Not open for further replies.
Top