⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 campmenu.cpp

📁 空战游戏flacon源码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
}

void MapMenuOpenCB(C_Base *themenu,C_Base *caller)
{
	C_PopupList *menu;

	if(!themenu || !caller || !caller->Parent_)
		return;

	menu=(C_PopupList*)themenu;

	// Enable certain stuff for TE VC window
	if(caller->Parent_->GetID() == TAC_VC_WIN)
	{
		menu->SetItemFlagBitOn(MID_ADD_VC,C_BIT_ENABLED);
		menu->SetItemFlagBitOff(MID_ADD_FLIGHT,C_BIT_ENABLED);
		menu->SetItemFlagBitOff(MID_ADD_PACKAGE,C_BIT_ENABLED);
		menu->SetItemFlagBitOff(MID_ADD_BATTALION,C_BIT_ENABLED);
	}
	else
	{
		if(EditMode)
		{
			menu->SetItemFlagBitOn(MID_ADD_VC,C_BIT_ENABLED);
			menu->SetItemFlagBitOn(MID_ADD_FLIGHT,C_BIT_ENABLED);
			menu->SetItemFlagBitOn(MID_ADD_PACKAGE,C_BIT_ENABLED);
			menu->SetItemFlagBitOn(MID_ADD_BATTALION,C_BIT_ENABLED);
		}
		else
		{
			menu->SetItemFlagBitOff(MID_ADD_VC,C_BIT_ENABLED);
			menu->SetItemFlagBitOff(MID_ADD_FLIGHT,C_BIT_ENABLED);
			menu->SetItemFlagBitOn(MID_ADD_PACKAGE,C_BIT_ENABLED);
			menu->SetItemFlagBitOff(MID_ADD_BATTALION,C_BIT_ENABLED);
		}
	}
}

void OpenUnitMenuCB(C_Base *themenu,C_Base *caller)
{
	C_PopupList *menu;

	if(!themenu || !caller || !caller->Parent_)
		return;

	menu=(C_PopupList*)themenu;
	if(menu)
	{
		if(TeamInfo[1])
		{
			menu->SetItemLabel(MID_TEAM_1,TeamInfo[1]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_1,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_1,C_BIT_INVISIBLE);
		if(TeamInfo[2])
		{
			menu->SetItemLabel(MID_TEAM_2,TeamInfo[2]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_2,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_2,C_BIT_INVISIBLE);
		if(TeamInfo[3])
		{
			menu->SetItemLabel(MID_TEAM_3,TeamInfo[3]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_3,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_3,C_BIT_INVISIBLE);
		if(TeamInfo[4])
		{
			menu->SetItemLabel(MID_TEAM_4,TeamInfo[4]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_4,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_4,C_BIT_INVISIBLE);
		if(TeamInfo[5])
		{
			menu->SetItemLabel(MID_TEAM_5,TeamInfo[5]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_5,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_5,C_BIT_INVISIBLE);
		if(TeamInfo[6])
		{
			menu->SetItemLabel(MID_TEAM_6,TeamInfo[6]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_6,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_6,C_BIT_INVISIBLE);
		if(TeamInfo[7])
		{
			menu->SetItemLabel(MID_TEAM_7,TeamInfo[7]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_7,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_7,C_BIT_INVISIBLE);
	}
}

void OpenNavalMenuCB(C_Base *themenu,C_Base *caller)
{
	C_PopupList *menu;

	if(!themenu || !caller || !caller->Parent_)
		return;

	menu=(C_PopupList*)themenu;
	if(menu)
	{
		if(TeamInfo[1])
		{
			menu->SetItemLabel(MID_TEAM_1,TeamInfo[1]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_1,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_1,C_BIT_INVISIBLE);
		if(TeamInfo[2])
		{
			menu->SetItemLabel(MID_TEAM_2,TeamInfo[2]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_2,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_2,C_BIT_INVISIBLE);
		if(TeamInfo[3])
		{
			menu->SetItemLabel(MID_TEAM_3,TeamInfo[3]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_3,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_3,C_BIT_INVISIBLE);
		if(TeamInfo[4])
		{
			menu->SetItemLabel(MID_TEAM_4,TeamInfo[4]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_4,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_4,C_BIT_INVISIBLE);
		if(TeamInfo[5])
		{
			menu->SetItemLabel(MID_TEAM_5,TeamInfo[5]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_5,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_5,C_BIT_INVISIBLE);
		if(TeamInfo[6])
		{
			menu->SetItemLabel(MID_TEAM_6,TeamInfo[6]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_6,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_6,C_BIT_INVISIBLE);
		if(TeamInfo[7])
		{
			menu->SetItemLabel(MID_TEAM_7,TeamInfo[7]->GetName());
			menu->SetItemFlagBitOff(MID_TEAM_7,C_BIT_INVISIBLE);
		}
		else
			menu->SetItemFlagBitOn(MID_TEAM_7,C_BIT_INVISIBLE);
	}
}

void ObjMenuOpenCB(C_Base *themenu,C_Base *caller)
{
	C_PopupList *menu;
	short isairbase=0;

	if(!themenu || !caller || !caller->Parent_)
		return;

	if(caller->_GetCType_() == _CNTL_DRAWLIST_)
	{
		MAPICONLIST *icon;

		icon=((C_DrawList*)caller)->GetLastItem();
		if(icon && icon->Owner)
			if(icon->Owner->GetType() == 1)
				isairbase=1;
	}
	else if(caller->_GetCType_() == _CNTL_MAPICON_)
	{
		if(caller->GetType() == 1)
			isairbase=1;
	}
	else if(caller->_GetCType_() == _CNTL_TREELIST_)
	{
	}

	menu=(C_PopupList*)themenu;

	if(isairbase) // Airbase
	{
		menu->SetItemFlagBitOn(MID_SQUADRONS,C_BIT_ENABLED);
		menu->SetItemFlagBitOff(MID_SQUADRONS,C_BIT_INVISIBLE);
		if(GameType == 1 || !EditMode)
			menu->SetItemFlagBitOff(MID_ADD_SQUADRON,C_BIT_ENABLED);
		else
			menu->SetItemFlagBitOn(MID_ADD_SQUADRON,C_BIT_ENABLED);
	}
	else
	{
		menu->SetItemFlagBitOff(MID_SQUADRONS,C_BIT_ENABLED);
		menu->SetItemFlagBitOn(MID_SQUADRONS,C_BIT_INVISIBLE);
		menu->SetItemFlagBitOff(MID_ADD_SQUADRON,C_BIT_ENABLED);
	}
	if(TeamInfo[1])
	{
		menu->SetItemLabel(MID_TEAM_1,TeamInfo[1]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_1,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_1,C_BIT_INVISIBLE);
	if(TeamInfo[2])
	{
		menu->SetItemLabel(MID_TEAM_2,TeamInfo[2]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_2,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_2,C_BIT_INVISIBLE);
	if(TeamInfo[3])
	{
		menu->SetItemLabel(MID_TEAM_3,TeamInfo[3]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_3,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_3,C_BIT_INVISIBLE);
	if(TeamInfo[4])
	{
		menu->SetItemLabel(MID_TEAM_4,TeamInfo[4]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_4,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_4,C_BIT_INVISIBLE);
	if(TeamInfo[5])
	{
		menu->SetItemLabel(MID_TEAM_5,TeamInfo[5]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_5,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_5,C_BIT_INVISIBLE);
	if(TeamInfo[6])
	{
		menu->SetItemLabel(MID_TEAM_6,TeamInfo[6]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_6,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_6,C_BIT_INVISIBLE);
	if(TeamInfo[7])
	{
		menu->SetItemLabel(MID_TEAM_7,TeamInfo[7]->GetName());
		menu->SetItemFlagBitOff(MID_TEAM_7,C_BIT_INVISIBLE);
	}
	else
		menu->SetItemFlagBitOn(MID_TEAM_7,C_BIT_INVISIBLE);
}

void HookupCampaignMenus()
{
	C_PopupList *menu;
	int			i;

	menu=gPopupMgr->GetMenu(MAP_POP);
	if(menu)
	{
		menu->SetOpenCallback(MapMenuOpenCB);

		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_BATTALION,MenuAddUnitCB);
		// Legend stuff
		menu->SetCallback(MID_LEG_NAMES,MenuToggleNamesCB);
		menu->SetCallback(MID_LEG_BULLSEYE,MenuToggleBullseyeCB);

		// Objectives
		menu->SetCallback(MID_INST_AF,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_AD,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_ARMY,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_CCC,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_POLITICAL,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_INFRA,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_LOG,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_WARPROD,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_NAV,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_OTHER,MenuToggleObjectiveCB);
		menu->SetCallback(MID_INST_NAVAL,MenuToggleObjectiveCB);
		menu->SetCallback(MID_SHOW_VC,MenuToggleObjectiveCB);

		// Units
		menu->SetCallback(MID_UNITS_SQUAD_SQUADRON,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_PACKAGE,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_DIV,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_BRIG,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_BAT,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_COMBAT,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_AD,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SUPPORT,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_FIGHTER,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_FIGHTBOMB,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_ATTACK,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_BOMBER,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_SUPPORT,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_SQUAD_HELI,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_NAVY_COMBAT,MenuToggleUnitCB);
		menu->SetCallback(MID_UNITS_NAVY_SUPPLY,MenuToggleUnitCB);

		// Sams/Radar
		menu->SetCallback(MID_OFF,MenuSetCirclesCB);
		menu->SetCallback(MID_CIRCLE_SAM_LOW,MenuSetCirclesCB);
		menu->SetCallback(MID_CIRCLE_SAM_HIGH,MenuSetCirclesCB);
		menu->SetCallback(MID_CIRCLE_RADAR_LOW,MenuSetCirclesCB);
		menu->SetCallback(MID_CIRCLE_RADAR_HIGH,MenuSetCirclesCB);
	}

	menu=gPopupMgr->GetMenu(OBJECTIVE_POP);
	if(menu)
	{
		menu->SetOpenCallback(ObjMenuOpenCB);

		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_STATUS,MenuStatusCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_BATTALION,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_SQUADRON,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_VC,MenuAddVCCB);
		menu->SetCallback(MID_TEAM_0,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_1,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_2,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_3,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_4,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_5,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_6,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_7,MenuSetOwnerCB);
	}

	menu=gPopupMgr->GetMenu(SQUADRON_POP);
	if(menu)
	{
		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_BATTALION,MenuAddUnitCB);
		menu->SetCallback(MID_STATUS,MenuUnitStatusCB);
		menu->SetCallback(MID_DELETE_UNIT,MenuUnitDeleteCB);
		menu->SetCallback(MID_ADD_VC,MenuAddVCCB);
	}

	menu=gPopupMgr->GetMenu(UNIT_POP);
	if(menu)
	{
		menu->SetOpenCallback(OpenUnitMenuCB);
		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_BATTALION,MenuAddUnitCB);
		menu->SetCallback(MID_STATUS,MenuUnitStatusCB);
		menu->SetCallback(MID_DELETE_UNIT,MenuUnitDeleteCB);
		menu->SetCallback(MID_ADD_VC,MenuAddVCCB);
		menu->SetCallback(MID_TEAM_0,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_1,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_2,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_3,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_4,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_5,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_6,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_7,MenuSetOwnerCB);
	}

	menu=gPopupMgr->GetMenu(AIRUNIT_MENU);
	if(menu)
	{
		menu->SetOpenCallback(OpenUnitMenuCB);
		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_BATTALION,MenuAddUnitCB);
		menu->SetCallback(MID_STATUS,MenuUnitStatusCB);
		menu->SetCallback(MID_DELETE_UNIT,MenuUnitDeleteCB);
		menu->SetCallback(MID_ADD_VC,MenuAddVCCB);
		menu->SetCallback(MID_TEAM_0,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_1,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_2,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_3,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_4,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_5,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_6,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_7,MenuSetOwnerCB);
	}

	menu=gPopupMgr->GetMenu(NAVAL_POP);
	if(menu)
	{
		menu->SetOpenCallback(OpenNavalMenuCB);
		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_BATTALION,MenuAddUnitCB);
		menu->SetCallback(MID_STATUS,MenuUnitStatusCB);
		menu->SetCallback(MID_DELETE_UNIT,MenuUnitDeleteCB);
		menu->SetCallback(MID_ADD_VC,MenuAddVCCB);
		menu->SetCallback(MID_TEAM_0,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_1,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_2,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_3,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_4,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_5,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_6,MenuSetOwnerCB);
		menu->SetCallback(MID_TEAM_7,MenuSetOwnerCB);
	}

	menu=gPopupMgr->GetMenu(PACKAGE_POP);
	if(menu)
	{
		menu->SetCallback(MID_RECON,MenuReconCB);
		menu->SetCallback(MID_SHOW_FLIGHTS,MenuEditPackageCB);
		menu->SetCallback(MID_DELETE_UNIT,MenuUnitDeleteCB);
		menu->SetCallback(MID_ADD_FLIGHT,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_PACKAGE,MenuAddUnitCB);
		menu->SetCallback(MID_ADD_VC,MenuAddVCCB);
	}
	menu=gPopupMgr->GetMenu(STEERPOINT_POP);
	if(menu)
	{
		menu->SetOpenCallback(SteerPointMenuOpenCB);
		
		menu->SetCallback(MID_ADD_STPT,MenuAddWPCB);
		menu->SetCallback(MID_DELETE_STPT,MenuDeleteWPCB);
		menu->SetCallback(MID_RECON,MenuReconCB);

		// Main
		menu->SetCallback(MID_DETAILS,MenuOpenWpWindowCB);
		menu->SetCallback(MID_LOCK_TOS,MenuLockCB);
		menu->SetCallback(MID_LOCK_SPEED,MenuLockCB);

		// Climb Menu
		menu->SetCallback(CLIMB_IMMEDIATE,MenuClimbCB);
		menu->SetCallback(CLIMB_DELAY,MenuClimbCB);

		// Formation Menu
		for (i=1; i<9; i++)
			menu->SetCallback(i,MenuFormationCB);

		// Enroute menu (hand add the valid ones)
		menu->AddItem(WP_NOTHING | 0x100, C_TYPE_RADIO, WPActStr[39], MID_ENR_ACTION);
		menu->SetCallback(WP_NOTHING | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_NOTHING | 0x100,3);
		menu->AddItem(WP_CA | 0x100, C_TYPE_RADIO, WPActStr[WP_CA], MID_ENR_ACTION);
		menu->SetCallback(WP_CA | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_CA | 0x100,3);
		menu->AddItem(WP_ESCORT | 0x100, C_TYPE_RADIO, WPActStr[WP_ESCORT], MID_ENR_ACTION);
		menu->SetCallback(WP_ESCORT | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_ESCORT | 0x100,3);
		menu->AddItem(WP_SEAD | 0x100, C_TYPE_RADIO, WPActStr[WP_SEAD], MID_ENR_ACTION);
		menu->SetCallback(WP_SEAD | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_SEAD | 0x100,3);
		menu->AddItem(WP_SAD | 0x100, C_TYPE_RADIO, WPActStr[WP_SAD], MID_ENR_ACTION);
		menu->SetCallback(WP_SAD | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_SAD | 0x100,3);
		menu->AddItem(WP_ELINT | 0x100, C_TYPE_RADIO, WPActStr[WP_ELINT], MID_ENR_ACTION);
		menu->SetCallback(WP_ELINT | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_ELINT | 0x100,3);
		menu->AddItem(WP_TANKER | 0x100, C_TYPE_RADIO, WPActStr[WP_TANKER], MID_ENR_ACTION);
		menu->SetCallback(WP_TANKER | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_TANKER | 0x100,3);
		menu->AddItem(WP_JAM | 0x100, C_TYPE_RADIO, WPActStr[WP_JAM], MID_ENR_ACTION);
		menu->SetCallback(WP_JAM | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_JAM | 0x100,3);
		menu->AddItem(WP_ASW | 0x100, C_TYPE_RADIO, WPActStr[WP_ASW], MID_ENR_ACTION);
		menu->SetCallback(WP_ASW | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_ASW | 0x100,3);
		menu->AddItem(WP_RECON | 0x100, C_TYPE_RADIO, WPActStr[WP_RECON], MID_ENR_ACTION);
		menu->SetCallback(WP_RECON | 0x100,MenuEnrouteCB);
		menu->SetItemGroup(WP_RECON | 0x100,3);

		// Action Menu
		for (i=0; i<=WP_FAC; i++)
		{
			if (!i)
				menu->AddItem(i | 0x200, C_TYPE_RADIO, WPActStr[39], MID_ACTION);
			else
				menu->AddItem(i | 0x200, C_TYPE_RADIO, WPActStr[i], MID_ACTION);
			menu->SetCallback(i | 0x200,MenuActionCB);
			menu->SetItemGroup(i | 0x200,4);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -