diff --git a/.gitignore b/.gitignore index e54c63e7e8..3197c384b7 100644 --- a/.gitignore +++ b/.gitignore @@ -61,7 +61,8 @@ core !/Script /Script/* !/Script/ProjectApollo -/Textures/ +!/Textures/ +/Textures/* !/Textures/ProjectApollo/ /Scenarios !/Scenarios/Project Apollo - NASSP/ diff --git a/Meshes/ProjectApollo/CueCards/A15LM_CDR_LMP_BUS_LOST.msh b/Meshes/ProjectApollo/CueCards/A15LM_CDR_LMP_BUS_LOST.msh new file mode 100644 index 0000000000..3c7fca7d50 --- /dev/null +++ b/Meshes/ProjectApollo/CueCards/A15LM_CDR_LMP_BUS_LOST.msh @@ -0,0 +1,22 @@ +MSHX1 +GROUPS 1 +LABEL A15LM_CDR_LMP_BUS_LOST +MATERIAL 1 +TEXTURE 1 +FLAG 0 +GEOM 4 2 +0.0444 0.1079 1.5333 0.0000 0.5771 -0.8167 0.0000 1.0000 +0.1937 0.1079 1.5333 0.0000 0.5771 -0.8167 1.0000 1.0000 +0.0444 0.1420 1.5573 0.0000 0.5771 -0.8167 +0.1937 0.1420 1.5573 0.0000 0.5771 -0.8167 1.0000 0.0000 +0 3 1 +0 2 3 +MATERIALS 1 +A15LM_CDR_LMP_BUS_LOST +MATERIAL A15LM_CDR_LMP_BUS_LOST +0.800 0.800 0.800 1.000 +1.000 1.000 1.000 1.000 +0.000 0.000 0.000 1.000 0.000 +0.700 0.700 0.700 1.000 +TEXTURES 1 +ProjectApollo\VC\CueCards\A15LM_CDR_LMP_BUS_LOST.dds diff --git a/Meshes/ProjectApollo/CueCards/A15LM_DPS_APS_RCS.msh b/Meshes/ProjectApollo/CueCards/A15LM_DPS_APS_RCS.msh new file mode 100644 index 0000000000..7b49a23ac0 --- /dev/null +++ b/Meshes/ProjectApollo/CueCards/A15LM_DPS_APS_RCS.msh @@ -0,0 +1,22 @@ +MSHX1 +GROUPS 1 +LABEL A15LM_DPS_APS_RCS +MATERIAL 1 +TEXTURE 1 +FLAG 0 +GEOM 4 2 +-0.0895 0.2765 1.6558 0.0000 0.2157 -0.9764 0.0000 1.0000 +0.1974 0.2765 1.6558 0.0000 0.2157 -0.9764 1.0000 1.0000 +-0.0895 0.3300 1.6676 0.0000 0.2157 -0.9764 +0.1974 0.3300 1.6676 0.0000 0.2157 -0.9764 1.0000 0.0000 +0 3 1 +0 2 3 +MATERIALS 1 +A15LM_DPS_APS_RCS +MATERIAL A15LM_DPS_APS_RCS +0.800 0.800 0.800 1.000 +1.000 1.000 1.000 1.000 +0.000 0.000 0.000 1.000 0.000 +0.700 0.700 0.700 1.000 +TEXTURES 1 +ProjectApollo\VC\CueCards\A15LM_DPS_APS_RCS.dds diff --git a/Meshes/ProjectApollo/CueCards/A15LM_DPS_ASCENT.msh b/Meshes/ProjectApollo/CueCards/A15LM_DPS_ASCENT.msh new file mode 100644 index 0000000000..775e3bcb8a --- /dev/null +++ b/Meshes/ProjectApollo/CueCards/A15LM_DPS_ASCENT.msh @@ -0,0 +1,68 @@ +MSHX1 +GROUPS 1 +LABEL A15LM_DPS_ASCENT +MATERIAL 1 +TEXTURE 1 +FLAG 0 +GEOM 24 28 +-0.2568 0.1831 1.5806 0.0000 0.7649 -0.6441 0.0000 1.0000 +-0.1160 0.1831 1.5806 0.0000 0.7649 -0.6441 1.0000 1.0000 +-0.2568 0.2986 1.6643 -0.0003 0.4376 -0.8992 +-0.1160 0.2986 1.6643 -0.0054 0.4420 -0.8970 1.0000 0.0000 +-0.2568 0.2637 1.6456 -0.0055 0.5517 -0.8340 0.0000 0.2760 +-0.2568 0.2813 1.6559 -0.0021 0.4823 -0.8760 0.0000 0.1341 +-0.1160 0.2814 1.6558 -0.0160 0.4968 -0.8677 1.0000 0.1341 +-0.1160 0.2645 1.6445 -0.0343 0.5631 -0.8257 1.0000 0.2760 +-0.1160 0.2084 1.6065 -0.0105 0.5971 -0.8021 1.0000 0.7468 +-0.1160 0.1926 1.5920 0.0000 0.7404 -0.6722 1.0000 0.8968 +-0.1160 0.2001 1.5997 0.0000 0.6765 -0.7364 1.0000 0.8218 +-0.2568 0.1926 1.5920 0.0000 0.7404 -0.6722 0.0000 0.8968 +-0.2568 0.2084 1.6065 -0.0018 0.6031 -0.7977 0.0000 0.7468 +-0.2568 0.2001 1.5997 0.0000 0.6765 -0.7364 0.0000 0.8218 +-0.1259 0.1831 1.5806 0.0000 0.7649 -0.6441 0.9298 1.0000 +-0.1259 0.2986 1.6643 -0.0029 0.4398 -0.8981 0.9298 0.0000 +-0.1259 0.2813 1.6559 -0.0090 0.4896 -0.8719 0.9298 0.1341 +-0.1259 0.2643 1.6448 -0.0199 0.5575 -0.8299 0.9298 0.2760 +-0.1259 0.2084 1.6065 -0.0062 0.6001 -0.7999 0.9298 0.7468 +-0.1259 0.2001 1.5997 0.0000 0.6765 -0.7364 0.9298 0.8218 +-0.1259 0.1926 1.5920 0.0000 0.7404 -0.6722 0.9298 0.8968 +-0.2568 0.2455 1.6327 -0.0053 0.5729 -0.8196 0.0000 0.4314 +-0.1160 0.2462 1.6316 -0.0316 0.5665 -0.8235 1.0000 0.4314 +-0.1259 0.2460 1.6319 -0.0185 0.5697 -0.8216 0.9298 0.4314 +23 7 22 +23 17 7 +16 3 6 +16 15 3 +16 4 5 +16 17 4 +18 13 12 +18 19 13 +19 11 13 +19 20 11 +14 9 1 +14 20 9 +0 20 14 +0 11 20 +10 20 19 +10 9 20 +8 19 18 +8 10 19 +6 17 16 +6 7 17 +5 15 16 +5 2 15 +21 17 23 +21 4 17 +12 23 18 +12 21 23 +18 22 8 +18 23 22 +MATERIALS 1 +A15LM_DPS_ASCENT +MATERIAL A15LM_DPS_ASCENT +0.800 0.800 0.800 1.000 +1.000 1.000 1.000 1.000 +0.000 0.000 0.000 1.000 0.000 +0.700 0.700 0.700 1.000 +TEXTURES 1 +ProjectApollo\VC\CueCards\A15LM_DPS_ASCENT.dds diff --git a/Meshes/ProjectApollo/CueCards/A15LM_DPS_PROCEDURE.msh b/Meshes/ProjectApollo/CueCards/A15LM_DPS_PROCEDURE.msh new file mode 100644 index 0000000000..413839474f --- /dev/null +++ b/Meshes/ProjectApollo/CueCards/A15LM_DPS_PROCEDURE.msh @@ -0,0 +1,22 @@ +MSHX1 +GROUPS 1 +LABEL A15LM_DPS_PROCEDURE +MATERIAL 1 +TEXTURE 1 +FLAG 0 +GEOM 4 2 +-0.4230 0.6215 1.7027 0.0000 0.1442 -0.9895 0.0000 1.0000 +-0.1948 0.6215 1.7027 0.0000 0.1442 -0.9895 1.0000 1.0000 +-0.4230 0.7983 1.7284 0.0000 0.1442 -0.9895 +-0.1948 0.7983 1.7284 0.0000 0.1442 -0.9895 1.0000 0.0000 +0 3 1 +0 2 3 +MATERIALS 1 +A15LM_DPS_PROCEDURE +MATERIAL A15LM_DPS_PROCEDURE +0.800 0.800 0.800 1.000 +1.000 1.000 1.000 1.000 +0.000 0.000 0.000 1.000 0.000 +0.700 0.700 0.700 1.000 +TEXTURES 1 +ProjectApollo\VC\CueCards\A15LM_DPS_PROCEDURE.dds diff --git a/Meshes/ProjectApollo/CueCards/A15LM_FT_NM.msh b/Meshes/ProjectApollo/CueCards/A15LM_FT_NM.msh new file mode 100644 index 0000000000..71b7edc990 --- /dev/null +++ b/Meshes/ProjectApollo/CueCards/A15LM_FT_NM.msh @@ -0,0 +1,22 @@ +MSHX1 +GROUPS 1 +LABEL A15LM_FT_NM +MATERIAL 1 +TEXTURE 1 +FLAG 0 +GEOM 4 2 +0.1941 0.1166 1.5425 0.0000 0.5771 -0.8167 0.0000 1.0000 +0.2347 0.1166 1.5425 0.0000 0.5771 -0.8167 1.0000 1.0000 +0.1941 0.2129 1.6105 0.0000 0.5771 -0.8167 +0.2347 0.2129 1.6105 0.0000 0.5771 -0.8167 1.0000 0.0000 +0 3 1 +0 2 3 +MATERIALS 1 +A15LM_FT_NM +MATERIAL A15LM_FT_NM +0.800 0.800 0.800 1.000 +1.000 1.000 1.000 1.000 +0.000 0.000 0.000 1.000 0.000 +0.700 0.700 0.700 1.000 +TEXTURES 1 +ProjectApollo\VC\CueCards\A15LM_FT_NM.dds diff --git a/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj b/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj index fbe893a2df..29111c6602 100644 --- a/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj +++ b/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj @@ -154,6 +154,9 @@ ProgramDatabase + + + ProgramDatabase @@ -371,6 +374,9 @@ + + + diff --git a/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj.filters b/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj.filters index 3d0bd45df9..ceeab52f56 100644 --- a/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj.filters +++ b/Orbitersdk/samples/ProjectApollo/Build/VC2017/LEM.vcxproj.filters @@ -234,6 +234,15 @@ Source Files + + Source Files + + + Source Files + + + Source Files + @@ -455,6 +464,15 @@ Header Files + + Header Files + + + Header Files + + + Header Files + diff --git a/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.cpp b/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.cpp index 5d3179adb7..487f5e6233 100644 --- a/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.cpp +++ b/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.cpp @@ -24,7 +24,7 @@ See http://nassp.sourceforge.net/license/ for more details. #include "CueCardManager.h" -CueCardManager::CueCardManager(int &vcidx, VESSEL *v, unsigned num) : vc(vcidx) +CueCardManager::CueCardManager(UINT &vcidx, VESSEL *v, unsigned num) : vc(vcidx) { vessel = v; CueCardLocations.resize(num, CueCardLocation(this)); diff --git a/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.h b/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.h index 95d137190a..868227367a 100644 --- a/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.h +++ b/Orbitersdk/samples/ProjectApollo/src_aux/CueCardManager.h @@ -30,7 +30,7 @@ See http://nassp.sourceforge.net/license/ for more details. class CueCardManager { public: - CueCardManager(int &vcidx, VESSEL *v, unsigned num); + CueCardManager(UINT &vcidx, VESSEL *v, unsigned num); //Creates cue card, should be called in vessel constructor or clbkPostStep void CreateCueCard(unsigned location, std::string name, VECTOR3 offs = _V(0, 0, 0)); @@ -49,7 +49,7 @@ class CueCardManager VESSEL *V() { return vessel; } VECTOR3 GetVCOffset(); protected: - int &vc; + UINT &vc; VESSEL *vessel; std::vector CueCardLocations; }; diff --git a/Orbitersdk/samples/ProjectApollo/src_aux/Mission.cpp b/Orbitersdk/samples/ProjectApollo/src_aux/Mission.cpp index e998740d17..e1ff48f60b 100644 --- a/Orbitersdk/samples/ProjectApollo/src_aux/Mission.cpp +++ b/Orbitersdk/samples/ProjectApollo/src_aux/Mission.cpp @@ -160,6 +160,11 @@ namespace mission { AddCSMCueCard(8, "LMP_BOOST-ABORTS"); AddCSMCueCard(9, "LOI_LIMITS"); AddCSMCueCard(10, "CSM_ANTENNA_LOCATIONS"); + AddLMCueCard(0, "A15LM_DPS_PROCEDURE"); + AddLMCueCard(1, "A15LM_CDR_LMP_BUS_LOST"); + AddLMCueCard(2, "A15LM_DPS_APS_RCS"); + AddLMCueCard(3, "A15LM_DPS_ASCENT"); + AddLMCueCard(4, "A15LM_FT_NM"); } bool Mission::LoadMission(const int iMission) @@ -630,9 +635,14 @@ namespace mission { return GetCueCards(CSMCueCards, counter, loc, meshname, ofs); } + bool Mission::GetLMCueCards(unsigned &counter, unsigned &loc, std::string &meshname, VECTOR3 &ofs) + { + return GetCueCards(LMCueCards, counter, loc, meshname, ofs); + } + bool Mission::GetCueCards(const std::vector &cue, unsigned &counter, unsigned &loc, std::string &meshname, VECTOR3 &ofs) { - while (counter < CSMCueCards.size()) + while (counter < cue.size()) { if (cue[counter].meshname != "" && cue[counter].meshname != "None") { diff --git a/Orbitersdk/samples/ProjectApollo/src_aux/Mission.h b/Orbitersdk/samples/ProjectApollo/src_aux/Mission.h index 0ad27f0eaf..0c4d56b4bc 100644 --- a/Orbitersdk/samples/ProjectApollo/src_aux/Mission.h +++ b/Orbitersdk/samples/ProjectApollo/src_aux/Mission.h @@ -146,6 +146,7 @@ namespace mission int GetLMNumber() const; //Get cue cards bool GetCSMCueCards(unsigned &counter, unsigned &loc, std::string &meshname, VECTOR3 &ofs); + bool GetLMCueCards(unsigned &counter, unsigned &loc, std::string &meshname, VECTOR3 &ofs); //Name of CDR virtual const std::string& GetCDRName() const; //Name of CMP diff --git a/Orbitersdk/samples/ProjectApollo/src_csm/saturn.h b/Orbitersdk/samples/ProjectApollo/src_csm/saturn.h index 201e0659e4..2cf0a5e314 100644 --- a/Orbitersdk/samples/ProjectApollo/src_csm/saturn.h +++ b/Orbitersdk/samples/ProjectApollo/src_csm/saturn.h @@ -4014,7 +4014,7 @@ class Saturn: public ProjectApolloConnectorVessel, public PanelSwitchListener { int opticscoveridx; int cmdocktgtidx; int simbaypanelidx; - int vcidx; + UINT vcidx; int seatsfoldedidx; int seatsunfoldedidx; int coascdridx; diff --git a/Orbitersdk/samples/ProjectApollo/src_lm/LEM.cpp b/Orbitersdk/samples/ProjectApollo/src_lm/LEM.cpp index 120b37f93b..8d36c3aca3 100644 --- a/Orbitersdk/samples/ProjectApollo/src_lm/LEM.cpp +++ b/Orbitersdk/samples/ProjectApollo/src_lm/LEM.cpp @@ -458,8 +458,8 @@ LEM::LEM(OBJHANDLE hObj, int fmodel) : Payload (hObj, fmodel), AscentECAMainFeeder("Ascent-ECA-Main-Feeder", Panelsdk), AscentECAContFeeder("Ascent-ECA-Cont-Feeder", Panelsdk), vesim(&cbLMVesim, this), - Failures(this) - + Failures(this), + CueCards(vcidx, this, 5) { dllhandle = g_Param.hDLL; // DS20060413 Save for later InitLEMCalled = false; @@ -1999,7 +1999,10 @@ void LEM::GetScenarioState(FILEHANDLE scn, void *vs) // the simulation is started in pause mode. } - } + } + else if (!strnicmp(line, CUECARDS_START_STRING, sizeof(CUECARDS_START_STRING))) { + CueCards.LoadState(scn); + } else if (!strnicmp(line, "", 11)) { //INTERNALS signals the PanelSDK part of the scenario Panelsdk.Load(scn); //send the loading to the Panelsdk } @@ -2362,6 +2365,7 @@ void LEM::clbkSaveState (FILEHANDLE scn) aea.SaveState(scn, "AEA_START", "AEA_END"); asa.SaveState(scn, "ASA_START", "ASA_END"); } + CueCards.SaveState(scn); // // Save the Panel SDK state. diff --git a/Orbitersdk/samples/ProjectApollo/src_lm/LEM.h b/Orbitersdk/samples/ProjectApollo/src_lm/LEM.h index 5b8fcd225e..e754b1f281 100644 --- a/Orbitersdk/samples/ProjectApollo/src_lm/LEM.h +++ b/Orbitersdk/samples/ProjectApollo/src_lm/LEM.h @@ -71,6 +71,7 @@ #include "checklistController.h" #include "payload.h" #include "LMMalfunctionSimulation.h" +#include "CueCardManager.h" enum LMRCSThrusters { @@ -780,6 +781,7 @@ class LEM : public Payload, public PanelSwitchListener { PanelSwitches MainPanel; PanelSwitchesVC MainPanelVC; PanelSwitchScenarioHandler PSH; + CueCardManager CueCards; SwitchRow AbortSwitchesRow; diff --git a/Orbitersdk/samples/ProjectApollo/src_lm/lemsystems.cpp b/Orbitersdk/samples/ProjectApollo/src_lm/lemsystems.cpp index 2bd914a2cc..40574da0e9 100644 --- a/Orbitersdk/samples/ProjectApollo/src_lm/lemsystems.cpp +++ b/Orbitersdk/samples/ProjectApollo/src_lm/lemsystems.cpp @@ -2478,6 +2478,15 @@ void LEM::CreateMissionSpecificSystems() aeaa = new LEM_AEAA(); } EventTimerDisplay.SetReverseAtZero(pMission->IsLMEventTimerReversingAtZero()); + + //Create cue cards + unsigned loc, counter = 0; + std::string meshname; + VECTOR3 ofs; + while (pMission->GetLMCueCards(counter, loc, meshname, ofs) == false) + { + CueCards.CreateCueCard(loc, meshname, ofs); + } } // SYSTEMS COMPONENTS diff --git a/Orbitersdk/samples/ProjectApollo/src_lm/lemvc.cpp b/Orbitersdk/samples/ProjectApollo/src_lm/lemvc.cpp index 3396e7471b..c264fc7044 100644 --- a/Orbitersdk/samples/ProjectApollo/src_lm/lemvc.cpp +++ b/Orbitersdk/samples/ProjectApollo/src_lm/lemvc.cpp @@ -1483,6 +1483,33 @@ void LEM::RegisterActiveAreas() oapiVCRegisterArea(AID_VC_COAS1, PANEL_REDRAW_NEVER, PANEL_MOUSE_LBDOWN); oapiVCSetAreaClickmode_Spherical(AID_VC_COAS1, COAS1Location + ofs, 0.05); + // Cue Cards + + // Below mission and event timer, descent procedures + oapiVCRegisterArea(AID_VC_CUE_CARD_LOCATION_1, PANEL_REDRAW_NEVER, PANEL_MOUSE_LBDOWN); + oapiVCSetAreaClickmode_Quadrilateral(AID_VC_CUE_CARD_LOCATION_1, _V(-0.311226, 0.662860, 1.708660) + ofs, _V(-0.291192, 0.662860, 1.708660) + ofs, + _V(-0.311226, 0.777780, 1.725430) + ofs, _V(-0.291192, 0.777780, 1.725430) + ofs); + + // Below RCS heater switches, CDR/LMP bus lost + oapiVCRegisterArea(AID_VC_CUE_CARD_LOCATION_2, PANEL_REDRAW_NEVER, PANEL_MOUSE_LBDOWN); + oapiVCSetAreaClickmode_Quadrilateral(AID_VC_CUE_CARD_LOCATION_2, _V(0.113078, 0.116084, 1.539060) + ofs, _V(0.154882, 0.116084, 1.539060) + ofs, + _V(0.113078, 0.138590, 1.554900) + ofs, _V(0.154882, 0.138590, 1.554900) + ofs); + + // Below RCS controls, DPS/APS/RCS monitor + oapiVCRegisterArea(AID_VC_CUE_CARD_LOCATION_3, PANEL_REDRAW_NEVER, PANEL_MOUSE_LBDOWN); + oapiVCSetAreaClickmode_Quadrilateral(AID_VC_CUE_CARD_LOCATION_3, _V(-0.089500, 0.276500, 1.655800) + ofs, _V(0.197400, 0.276500, 1.655800) + ofs, + _V(-0.089500, 0.330000, 1.667600) + ofs, _V(0.197400, 0.330000, 1.667600) + ofs); + + // Around RR No Track light, DPS Ascent + oapiVCRegisterArea(AID_VC_CUE_CARD_LOCATION_4, PANEL_REDRAW_NEVER, PANEL_MOUSE_LBDOWN); + oapiVCSetAreaClickmode_Quadrilateral(AID_VC_CUE_CARD_LOCATION_4, _V(-0.246735, 0.235775, 1.623300) + ofs, _V(-0.179550, 0.235775, 1.623300) + ofs, + _V(-0.246735, 0.278400, 1.653300) + ofs, _V(-0.179550, 0.278400, 1.653300) + ofs); + + // Left of lamp test switch, feet to NM conversion + oapiVCRegisterArea(AID_VC_CUE_CARD_LOCATION_5, PANEL_REDRAW_NEVER, PANEL_MOUSE_LBDOWN); + oapiVCSetAreaClickmode_Quadrilateral(AID_VC_CUE_CARD_LOCATION_5, _V(0.198160, 0.150305, 1.566300) + ofs, _V(0.232670, 0.150305, 1.566300) + ofs, + _V(0.198160, 0.198455, 1.600300) + ofs, _V(0.232670, 0.198455, 1.600300) + ofs); + // // Initialize surfaces and switches // @@ -1599,6 +1626,13 @@ bool LEM::clbkVCMouseEvent(int id, int event, VECTOR3 &p) SwitchClick(); SetCOAS(); return true; + case AID_VC_CUE_CARD_LOCATION_1: + case AID_VC_CUE_CARD_LOCATION_2: + case AID_VC_CUE_CARD_LOCATION_3: + case AID_VC_CUE_CARD_LOCATION_4: + case AID_VC_CUE_CARD_LOCATION_5: + CueCards.CycleCueCard(id - AID_VC_CUE_CARD_LOCATION_1); + return true; } return MainPanelVC.VCMouseEvent(id, event, p); //return false; diff --git a/Orbitersdk/samples/ProjectApollo/src_lm/lmresource.h b/Orbitersdk/samples/ProjectApollo/src_lm/lmresource.h index 0086710f2c..fb35bfc4b6 100644 --- a/Orbitersdk/samples/ProjectApollo/src_lm/lmresource.h +++ b/Orbitersdk/samples/ProjectApollo/src_lm/lmresource.h @@ -1360,6 +1360,13 @@ #define AID_VC_EVA_Ant_Handle 5100 +// Cue Cards +#define AID_VC_CUE_CARD_LOCATION_1 6000 +#define AID_VC_CUE_CARD_LOCATION_2 6001 +#define AID_VC_CUE_CARD_LOCATION_3 6002 +#define AID_VC_CUE_CARD_LOCATION_4 6003 +#define AID_VC_CUE_CARD_LOCATION_5 6004 + #define IDB_LEM_FDAI_ROLL 10006 // Next default values for new objects diff --git a/Textures/ProjectApollo/VC/CueCards/A15LM_CDR_LMP_BUS_LOST.dds b/Textures/ProjectApollo/VC/CueCards/A15LM_CDR_LMP_BUS_LOST.dds new file mode 100644 index 0000000000..c7f1b6714b Binary files /dev/null and b/Textures/ProjectApollo/VC/CueCards/A15LM_CDR_LMP_BUS_LOST.dds differ diff --git a/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_APS_RCS.dds b/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_APS_RCS.dds new file mode 100644 index 0000000000..1f8727d633 Binary files /dev/null and b/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_APS_RCS.dds differ diff --git a/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_ASCENT.dds b/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_ASCENT.dds new file mode 100644 index 0000000000..8ffab6d037 Binary files /dev/null and b/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_ASCENT.dds differ diff --git a/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_PROCEDURE.dds b/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_PROCEDURE.dds new file mode 100644 index 0000000000..799bf3de04 Binary files /dev/null and b/Textures/ProjectApollo/VC/CueCards/A15LM_DPS_PROCEDURE.dds differ diff --git a/Textures/ProjectApollo/VC/CueCards/A15LM_FT_NM.dds b/Textures/ProjectApollo/VC/CueCards/A15LM_FT_NM.dds new file mode 100644 index 0000000000..fed157d1fc Binary files /dev/null and b/Textures/ProjectApollo/VC/CueCards/A15LM_FT_NM.dds differ