修订版 | c4d7ddd3a5c691acbf5301db2c63f07e5a84724a (tree) |
---|---|
时间 | 2009-08-16 03:14:06 |
作者 | Face |
Commiter | Face |
Linked UMmuBase with UMMUFB.
@@ -0,0 +1,3 @@ | ||
1 | +; === Configuration file for vessel class ShuttlePB === | |
2 | +ClassName = UMmuBase | |
3 | +Module = UMmuBase |
@@ -166,7 +166,16 @@ | ||
166 | 166 | |
167 | 167 | void SetPAX(VESSEL *vessel) |
168 | 168 | { |
169 | - BaseByVessel()[vessel]=oapiGetVesselByIndex(0); | |
169 | + for (int i=0;i<oapiGetVesselCount();i++) | |
170 | + { | |
171 | + OBJHANDLE base=oapiGetVesselByIndex(i); | |
172 | + char *className=oapiGetVesselInterface(base)->GetClassName(); | |
173 | + if (className!=NULL) if (strncmp(className, "UMmuBase", strlen(className))==0) | |
174 | + { | |
175 | + BaseByVessel()[vessel]=base; | |
176 | + break; | |
177 | + } | |
178 | + } | |
170 | 179 | } |
171 | 180 | |
172 | 181 | bool GetPAX(VESSEL *vessel) |
@@ -7,17 +7,22 @@ | ||
7 | 7 | |
8 | 8 | void UMmuBase::clbkSetClassCaps (FILEHANDLE cfg) |
9 | 9 | { |
10 | + THRUSTER_HANDLE th_main, th_hover, th_rcs[14], th_group[4]; | |
11 | + | |
10 | 12 | // physical specs |
11 | - SetSize (0); | |
12 | - SetEmptyMass (0); | |
13 | - SetCameraOffset (_V(0,0.8,0)); | |
13 | + SetSize (0.000001); | |
14 | + SetEmptyMass (0.000001); | |
15 | + SetCameraOffset (_V(0,0,0)); | |
16 | + SetDockParams (_V(0,1.3,-1), _V(0,1,0), _V(0,0,-1)); | |
14 | 17 | SetTouchdownPoints (_V(0,0,1), _V(-1,0,-1), _V(1,0,-1)); |
18 | + | |
15 | 19 | int UmmuSdKInitReturnCode=Crew.InitUmmu(GetHandle()); |
16 | 20 | float UMmuVersion=Crew.GetUserUMmuVersion(); |
17 | 21 | Crew.DefineAirLockShape(TRUE,-2,2,0,4,-2,2); |
18 | - Crew.SetMembersPosRotOnEVA(_V(0,0,0),_V(0,0,0)); | |
22 | + Crew.SetMembersPosRotOnEVA(_V(0,2,0),_V(0,0,0)); | |
19 | 23 | Crew.SetMaxSeatAvailableInShip(100); |
20 | 24 | SelectedUmmuMember=0; |
25 | + sprintf(display, ""); | |
21 | 26 | } |
22 | 27 | |
23 | 28 | void UMmuBase::clbkSaveState(FILEHANDLE scn) |
@@ -121,7 +126,7 @@ | ||
121 | 126 | |
122 | 127 | if(key==OAPI_KEY_S) |
123 | 128 | { |
124 | - sprintf(display,"%i souls aboard ship %s, %i seats available",Crew.GetCrewTotalNumber(),GetName(),4-Crew.GetCrewTotalNumber()); | |
129 | + sprintf(display,"%i souls aboard ship %s, %i seats available",Crew.GetCrewTotalNumber(),GetName(),100-Crew.GetCrewTotalNumber()); | |
125 | 130 | return 1; |
126 | 131 | } |
127 | 132 | return 0; |
@@ -129,8 +134,12 @@ | ||
129 | 134 | |
130 | 135 | void UMmuBase::clbkDrawHUD (int mode, const HUDPAINTSPEC *hps, HDC hDC) |
131 | 136 | { |
132 | - TextOut(hDC, 0, 0, display, strlen(display)); | |
133 | - VESSEL2::clbkDrawHUD(mode, hps, hDC); | |
137 | + TextOut(hDC, 0, 0, display, strlen(display)); | |
138 | +} | |
139 | + | |
140 | +UMMUCREWMANAGMENT *UMmuBase::GetCrew() | |
141 | +{ | |
142 | + return &Crew; | |
134 | 143 | } |
135 | 144 | |
136 | 145 | DLLCLBK VESSEL *ovcInit (OBJHANDLE hvessel, int flightmodel) |
@@ -10,6 +10,7 @@ | ||
10 | 10 | void clbkPostStep (double simtt, double simdt, double mjd); |
11 | 11 | int clbkConsumeBufferedKey(DWORD key, bool down, char *kstate); |
12 | 12 | void clbkDrawHUD (int mode, const HUDPAINTSPEC *hps, HDC hDC); |
13 | + UMMUCREWMANAGMENT *GetCrew(); | |
13 | 14 | private: |
14 | 15 | // UMMU 1.5 DECLARATION |
15 | 16 | UMMUCREWMANAGMENT Crew; |