📄 planner.cpp
字号:
TheCampaign.MissionEvaluator->PreMissionEval(flight, static_cast<uchar>(pilotSlot));
}
}
static void OpenReconWinCB(long,short hittype,C_Base *)
{
C_Window *win;
if(hittype != C_TYPE_LMOUSEUP)
return;
win=gMainHandler->FindWindow(RECON_WIN);
if(win)
{
CloseAllRenderers(RECON_WIN);
SetCursor(gCursors[CRSR_WAIT]);
TheLoader.WaitForLoader();
PositionCamera(&Recon,win,0);
gMainHandler->ShowWindow(win);
gMainHandler->WindowToFront(win);
SetCursor(gCursors[CRSR_F16]);
}
}
static void OpenTargetWinCB(long,short hittype,C_Base *)
{
C_Window *win;
if(hittype != C_TYPE_LMOUSEUP)
return;
win=gMainHandler->FindWindow(RECON_LIST_WIN);
if(win)
{
CloseAllRenderers(RECON_WIN);
gMainHandler->ShowWindow(win);
gMainHandler->WindowToFront(win);
}
}
static void CampaignAbortTakeoffCB(long,short hittype,C_Base *control)
{
if(hittype != C_TYPE_LMOUSEUP)
return;
CancelCampaignCompression();
UpdateRemoteCompression();
gMainHandler->HideWindow(control->Parent_);
ReadyToPlayMovie=TRUE;
}
static void CampaignTaxiCB(long ID,short hittype,C_Base *)
{
if(hittype != C_TYPE_LMOUSEUP)
return;
if(ID == WAIT_TAXI)
PlayerOptions.SetTaxiFlag(1);
else
PlayerOptions.SetTaxiFlag(0);
}
static BOOL CampaignCountDownCB(C_Base *me)
{
Flight fl;
WayPoint w;
_TCHAR buffer[30];
C_Text *txt;
long time,hour,minute,second,day;
int deltaTime = 0;
txt=(C_Text*)me;
if(!txt)
return(FALSE);
fl = FalconLocalSession->GetPlayerFlight();
if(fl)
{
w = fl->GetCurrentUnitWP();
if (w && w->GetWPAction() == WP_TAKEOFF)
deltaTime = (w->GetWPArrivalTime() - vuxGameTime) / VU_TICS_PER_SECOND;
}
if (deltaTime < 0)
deltaTime = 0;
if(deltaTime != me->GetUserNumber(0))
{
txt->SetUserNumber(0,deltaTime);
day=(long)(deltaTime/(24*60*60));
time=(long)((deltaTime)-(day*24*60*60));
hour=time/(60*60);
minute=(time/60)%60;
second=time%60;
_stprintf(buffer,"%02d:%02d:%02d",hour,minute,second);
txt->SetText(buffer);
txt->Refresh();
return(TRUE);
}
return(FALSE);
}
void HookupPlannerControls(long ID)
{
C_Window *winme;
C_Button *ctrl;
C_ListBox *lbox;
C_Panner *pnr;
C_Text *txt;
C_TreeList *tree;
winme=gMainHandler->FindWindow(ID);
if(winme == NULL)
return;
// Hook up IDs here
ctrl=(C_Button*)winme->FindControl(SET_PRIORITIES);
if(ctrl)
ctrl->SetCallback(OpenPriorityCB);
// Time/Date CB
txt=(C_Text *)winme->FindControl(COUNTDOWN_ID);
if(txt)
{
txt->SetTimerCallback(CampaignCountDownCB);
txt->SetFlagBitOn(C_BIT_TIMER);
txt->Refresh();
}
// Hook up Close Button
ctrl=(C_Button *)winme->FindControl(CLOSE_WINDOW);
if(ctrl)
{
if(ID == RECON_WIN)
{
ctrl->SetCallback(CloseReconWindowCB);
winme->SetDragCallback(MoveRendererClient0CB);
}
else if(ID == RECON_LIST_WIN)
{
ctrl->SetCallback(CloseReconWindowCB);
}
else if(ID == MUNITIONS_WIN)
{
ctrl->SetCallback(CloseMunitionsWindowCB);
winme->SetDragCallback(MoveRendererCB);
}
else
ctrl->SetCallback(ClosePlannerWindowCB);
}
lbox=(C_ListBox *)winme->FindControl(LID_FLIGHT_CALLSIGN);
if(lbox)
lbox->SetCallback(GotoFlightCB);
ctrl=(C_Button*)winme->FindControl(WAIT_TAXI);
if(ctrl)
ctrl->SetCallback(CampaignTaxiCB);
ctrl=(C_Button*)winme->FindControl(WAIT_TAKEOFF);
if(ctrl)
ctrl->SetCallback(CampaignTaxiCB);
ctrl=(C_Button*)winme->FindControl(WAIT_BACK);
if(ctrl)
ctrl->SetCallback(CampaignAbortTakeoffCB);
ctrl=(C_Button *)winme->FindControl(ALL_CTRL);
if(ctrl)
ctrl->SetCallback(ToggleATOInfoCB);
ctrl=(C_Button *)winme->FindControl(PREV_STPT);
if(ctrl)
ctrl->SetCallback(GotoPrevWaypointCB);
ctrl=(C_Button *)winme->FindControl(NEXT_STPT);
if(ctrl)
ctrl->SetCallback(GotoNextWaypointCB);
lbox=(C_ListBox *)winme->FindControl(ENR_ACTION_LISTBOX);
if (lbox)
lbox->SetCallback (set_waypoint_enroute_action);
lbox=(C_ListBox *)winme->FindControl(ACTION_LISTBOX);
if (lbox)
lbox->SetCallback (set_waypoint_action);
lbox=(C_ListBox *)winme->FindControl(FORM_LISTBOX);
if (lbox)
lbox->SetCallback (set_waypoint_formation);
lbox=(C_ListBox *)winme->FindControl(CLIMB_LISTBOX);
if (lbox)
lbox->SetCallback (set_waypoint_climb_mode);
ctrl=(C_Button *)winme->FindControl(MINIMIZE_WINDOW);
if(ctrl)
ctrl->SetCallback(MinMaxWindowCB);
ctrl=(C_Button *)winme->FindControl(TGT_ASSIGN);
if(ctrl)
ctrl->SetCallback(OpenReconWindowCB);
ctrl=(C_Button *)winme->FindControl(SET_TARGET);
if(ctrl)
ctrl->SetCallback(AssignTargetCB);
ctrl=(C_Button *)winme->FindControl(SET_VC);
if(ctrl)
ctrl->SetCallback(AssignVCCB);
ctrl=(C_Button *)winme->FindControl(LEFT_SPIN);
if(ctrl)
ctrl->SetCallback(SpinViewCB);
ctrl=(C_Button *)winme->FindControl(RIGHT_SPIN);
if(ctrl)
ctrl->SetCallback(SpinViewCB);
ctrl=(C_Button *)winme->FindControl(RECON_OVERHEAD);
if(ctrl)
ctrl->SetCallback(OverHeadCB);
pnr=(C_Panner*)winme->FindControl(RECON_PANNER);
if(pnr)
pnr->SetCallback(ViewPannerCB);
pnr=(C_Panner*)winme->FindControl(ZOOMER);
if(pnr)
pnr->SetCallback(ZoomPannerCB);
pnr=(C_Panner*)winme->FindControl(PLANE_PANNER);
if(pnr)
pnr->SetCallback(ObjectPannerCB);
pnr=(C_Panner*)winme->FindControl(PLANE_ZOOMER);
if(pnr)
pnr->SetCallback(ObjectZoomCB);
ctrl=(C_Button *)winme->FindControl(AIR_1);
if(ctrl)
ctrl->SetCallback(SelectPlaneToArmCB);
ctrl=(C_Button *)winme->FindControl(AIR_2);
if(ctrl)
ctrl->SetCallback(SelectPlaneToArmCB);
ctrl=(C_Button *)winme->FindControl(AIR_3);
if(ctrl)
ctrl->SetCallback(SelectPlaneToArmCB);
ctrl=(C_Button *)winme->FindControl(AIR_4);
if(ctrl)
ctrl->SetCallback(SelectPlaneToArmCB);
lbox=(C_ListBox *)winme->FindControl(WEAPON_LIST_CTRL);
if(lbox)
lbox->SetCallback(ChooseWeaponListCB);
ctrl=(C_Button *)winme->FindControl(SAVE_AS);
if(ctrl)
ctrl->SetCallback(SaveStoresCB);
ctrl=(C_Button *)winme->FindControl(LOAD);
if(ctrl)
ctrl->SetCallback(LoadStoresCB);
ctrl=(C_Button *)winme->FindControl(RESTORE);
if(ctrl)
ctrl->SetCallback(RestoreStoresCB);
ctrl=(C_Button *)winme->FindControl(CLEAR);
if(ctrl)
ctrl->SetCallback(ClearStoresCB);
ctrl=(C_Button *)winme->FindControl(CANCEL);
if(ctrl)
ctrl->SetCallback(CloseMunitionsWindowCB);
ctrl=(C_Button *)winme->FindControl(OK);
if(ctrl)
ctrl->SetCallback(UseStoresCB);
ctrl=(C_Button *)winme->FindControl(TOS_EARLIER);
if(ctrl)
ctrl->SetCallback(ChangeTOSCB);
ctrl=(C_Button *)winme->FindControl(TOS_LATER);
if(ctrl)
ctrl->SetCallback(ChangeTOSCB);
ctrl=(C_Button *)winme->FindControl(PATROL_LESS);
if(ctrl)
ctrl->SetCallback(ChangePatrolCB);
ctrl=(C_Button *)winme->FindControl(PATROL_LONGER);
if(ctrl)
ctrl->SetCallback(ChangePatrolCB);
ctrl=(C_Button *)winme->FindControl(AIRSPEED_DECR);
if(ctrl)
ctrl->SetCallback(ChangeAirspeedCB);
ctrl=(C_Button *)winme->FindControl(AIRSPEED_INC);
if(ctrl)
ctrl->SetCallback(ChangeAirspeedCB);
ctrl=(C_Button *)winme->FindControl(ALT_DECR);
if(ctrl)
ctrl->SetCallback(ChangeAltCB);
ctrl=(C_Button *)winme->FindControl(ALT_INC);
if(ctrl)
ctrl->SetCallback(ChangeAltCB);
ctrl=(C_Button *)winme->FindControl(TOS_LOCK);
if(ctrl)
ctrl->SetCallback(ChangeTOSLockCB);
ctrl=(C_Button *)winme->FindControl(AIRSPEED_LOCK);
if(ctrl)
ctrl->SetCallback(ChangeAirspeedLockCB);
ctrl=(C_Button *)winme->FindControl(GROUP1_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP2_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP3_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP4_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP5_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP6_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP7_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(GROUP8_FLAG);
if(ctrl)
ctrl->SetCallback(ToggleOOBTeamCB);
ctrl=(C_Button *)winme->FindControl(AF_FILTER);
if(ctrl)
ctrl->SetCallback(ToggleOOBFilterCB);
ctrl=(C_Button *)winme->FindControl(ARMY_FILTER);
if(ctrl)
ctrl->SetCallback(ToggleOOBFilterCB);
ctrl=(C_Button *)winme->FindControl(NAVY_FILTER);
if(ctrl)
ctrl->SetCallback(ToggleOOBFilterCB);
ctrl=(C_Button *)winme->FindControl(OBJECTIVE_FILTER);
if(ctrl)
ctrl->SetCallback(ToggleOOBFilterCB);
ctrl=(C_Button *)winme->FindControl(UNIT_SQUADRON_TAB);
if(ctrl)
ctrl->SetCallback(SquadronAirUnitCB);
ctrl=(C_Button *)winme->FindControl(UNIT_PILOT_TAB);
if(ctrl)
ctrl->SetCallback(PilotAirUnitCB);
ctrl=(C_Button *)winme->FindControl(OOB_UNIT_FIND);
if(ctrl)
ctrl->SetCallback(OOBFindCB);
ctrl=(C_Button *)winme->FindControl(OOB_UNIT_INFO);
if(ctrl)
ctrl->SetCallback(OOBInfoCB);
ctrl=(C_Button *)winme->FindControl(FIND_UNIT);
if(ctrl)
ctrl->SetCallback(SquadronFindCB);
ctrl=(C_Button *)winme->FindControl(OPEN_RECON_TARGETS);
if(ctrl)
ctrl->SetCallback(OpenTargetWinCB);
ctrl=(C_Button *)winme->FindControl(OPEN_RECON);
if(ctrl)
ctrl->SetCallback(OpenReconWinCB);
tree=(C_TreeList *)winme->FindControl(ATO_ALL_TREE);
if(tree)
{
tree->SetCallback(RedrawTreeWindowCB);
gATOAll=tree;
}
tree=(C_TreeList *)winme->FindControl(ATO_PACKAGE_TREE);
if(tree)
{
tree->SetCallback(RedrawTreeWindowCB);
gATOPackage=tree;
}
tree=(C_TreeList *)winme->FindControl(OOB_TREE);
if(tree)
{
tree->SetCallback(RedrawTreeWindowCB);
gOOBTree=tree;
}
tree=(C_TreeList *)winme->FindControl(RECON_TREE);
if(tree)
{
TargetTree=tree;
tree->SetSortType(TREE_SORT_CALLBACK);
tree->SetSortCallback(ReconListSortCB);
}
// Help GUIDE thing
ctrl=(C_Button*)winme->FindControl(UI_HELP_GUIDE);
if(ctrl)
ctrl->SetCallback(UI_Help_Guide_CB);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -