From: <hel...@us...> - 2006-02-24 11:03:48
|
Revision: 10121 Author: hellcatv Date: 2006-02-24 03:03:44 -0800 (Fri, 24 Feb 2006) ViewCVS: http://svn.sourceforge.net/vegastrike/?rev=10121&view=rev Log Message: ----------- added missile targetting keys Modified Paths: -------------- trunk/vegastrike/src/cmd/ai/firekeyboard.cpp trunk/vegastrike/src/cmd/ai/firekeyboard.h trunk/vegastrike/src/config_xml.cpp Modified: trunk/vegastrike/src/cmd/ai/firekeyboard.cpp =================================================================== --- trunk/vegastrike/src/cmd/ai/firekeyboard.cpp 2006-02-19 21:32:36 UTC (rev 10120) +++ trunk/vegastrike/src/cmd/ai/firekeyboard.cpp 2006-02-24 11:03:44 UTC (rev 10121) @@ -59,6 +59,10 @@ KBSTATE headlightkey; KBSTATE sirenkey; #endif + KBSTATE missiletargetkey; + KBSTATE incomingmissiletargetkey; + KBSTATE rmissiletargetkey; + KBSTATE rincomingmissiletargetkey; KBSTATE rneartargetkey; KBSTATE rthreattargetkey; KBSTATE rpicktargetkey; @@ -492,7 +496,36 @@ if (k==PRESS) ExamineWhenTargetKey(); } +void FireKeyboard::MissileTargetKey(const KBData&,KBSTATE k) { + if (g().missiletargetkey!=PRESS) + g().missiletargetkey = k; + if (k==PRESS) + ExamineWhenTargetKey(); + +} +void FireKeyboard::IncomingMissileTargetKey(const KBData&,KBSTATE k) { + if (g().incomingmissiletargetkey!=PRESS) + g().incomingmissiletargetkey = k; + if (k==PRESS) + ExamineWhenTargetKey(); + +} +void FireKeyboard::ReverseMissileTargetKey(const KBData&,KBSTATE k) { + if (g().rmissiletargetkey!=PRESS) + g().rmissiletargetkey = k; + if (k==PRESS) + ExamineWhenTargetKey(); + +} + +void FireKeyboard::ReverseIncomingMissileTargetKey(const KBData&,KBSTATE k) { + if (g().rincomingmissiletargetkey!=PRESS) + g().rincomingmissiletargetkey = k; + if (k==PRESS) + ExamineWhenTargetKey(); + +} void FireKeyboard::NearestTargetKey(const KBData&,KBSTATE k) { if (g().neartargetkey!=PRESS) g().neartargetkey = k; @@ -988,6 +1021,18 @@ return me->InRange(target,true,false)&&(target->isUnit()==UNITPTR||target->isUnit()==ENHANCEMENTPTR)&&getTopLevelOwner()!=target->owner&&(can_target_cargo||target->faction!=up)&&isNotTurretOwner(me,target); } + +bool TargMissile(Unit *me,Unit *target) { + return me->InRange(target,true,false)&&(target->isUnit()==MISSILEPTR)&&isNotTurretOwner(me,target); +} + +bool TargIncomingMissile(Unit *me,Unit *target) { + Unit *tt=target->Target(); + return TargMissile(me,target)&&(tt==me||(me->isSubUnit()&&tt==_Universe->AccessCockpit()->GetSaveParent())); +} + + + bool TargFront (Unit *me,Unit *target) { /* float dist; @@ -1716,6 +1761,32 @@ f().neartargetkey=DOWN; refresh_target=true; } + if (f().missiletargetkey==PRESS) { + ChooseTargets(parent,TargMissile,false); + f().missiletargetkey=DOWN; + refresh_target=true; + } + + if (f().incomingmissiletargetkey==PRESS) { + ChooseTargets(parent,TargIncomingMissile,false); + f().incomingmissiletargetkey=DOWN; + refresh_target=true; + } + + + if (f().rmissiletargetkey==PRESS) { + ChooseTargets(parent,TargMissile,true); + f().rmissiletargetkey=DOWN; + refresh_target=true; + } + + if (f().rincomingmissiletargetkey==PRESS) { + ChooseTargets(parent,TargIncomingMissile,true); + f().rincomingmissiletargetkey=DOWN; + refresh_target=true; + } + + if (f().threattargetkey==PRESS) { ChooseTargets(parent,TargThreat,false); f().threattargetkey=DOWN; Modified: trunk/vegastrike/src/cmd/ai/firekeyboard.h =================================================================== --- trunk/vegastrike/src/cmd/ai/firekeyboard.h 2006-02-19 21:32:36 UTC (rev 10120) +++ trunk/vegastrike/src/cmd/ai/firekeyboard.h 2006-02-24 11:03:44 UTC (rev 10121) @@ -73,6 +73,10 @@ static void FireKey(const KBData&,KBSTATE); static void MissileKey(const KBData&,KBSTATE); static void TargetKey(const KBData&,KBSTATE k); + static void MissileTargetKey(const KBData&,KBSTATE k); + static void IncomingMissileTargetKey(const KBData&,KBSTATE k); + static void ReverseMissileTargetKey(const KBData&,KBSTATE k); + static void ReverseIncomingMissileTargetKey(const KBData&,KBSTATE k); static void PickTargetKey(const KBData&,KBSTATE k); static void NearestTargetKey(const KBData&,KBSTATE k); static void SubUnitTargetKey(const KBData&,KBSTATE k); Modified: trunk/vegastrike/src/config_xml.cpp =================================================================== --- trunk/vegastrike/src/config_xml.cpp 2006-02-19 21:32:36 UTC (rev 10120) +++ trunk/vegastrike/src/config_xml.cpp 2006-02-24 11:03:44 UTC (rev 10121) @@ -694,6 +694,8 @@ commandMap["PickTargetKey"]=FireKeyboard::PickTargetKey ; commandMap["SubUnitTargetKey"]=FireKeyboard::SubUnitTargetKey ; commandMap["NearestTargetKey"]=FireKeyboard::NearestTargetKey ; + commandMap["MissileTargetKey"]=FireKeyboard::MissileTargetKey ; + commandMap["IncomingMissileTargetKey"]=FireKeyboard::IncomingMissileTargetKey ; commandMap["ThreatTargetKey"]=FireKeyboard::ThreatTargetKey ; commandMap["SigTargetKey"]=FireKeyboard::SigTargetKey ; commandMap["UnitTargetKey"]=FireKeyboard::UnitTargetKey ; |