592{
593 NSMutableArray *funcList = [NSMutableArray array];
594
595
596 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-propulsion")]];
597 [funcList addObject:
598 [self makeStickGuiDict:DESC(@"stickmapper-roll")
599 allowable:HW_AXIS
600 axisfn:AXIS_ROLL
601 butfn:STICK_NOFUNCTION]];
602 [funcList addObject:
603 [self makeStickGuiDict:DESC(@"stickmapper-pitch")
604 allowable:HW_AXIS
605 axisfn:AXIS_PITCH
606 butfn:STICK_NOFUNCTION]];
607 [funcList addObject:
608 [self makeStickGuiDict:DESC(@"stickmapper-yaw")
609 allowable:HW_AXIS
610 axisfn:AXIS_YAW
611 butfn:STICK_NOFUNCTION]];
612 [funcList addObject:
613 [self makeStickGuiDict:DESC(@"stickmapper-increase-thrust")
614 allowable:HW_AXIS|HW_BUTTON
615 axisfn:AXIS_THRUST
616 butfn:BUTTON_INCTHRUST]];
617 [funcList addObject:
618 [self makeStickGuiDict:DESC(@"stickmapper-decrease-thrust")
619 allowable:HW_AXIS|HW_BUTTON
620 axisfn:AXIS_THRUST
621 butfn:BUTTON_DECTHRUST]];
622 [funcList addObject:
623 [self makeStickGuiDict:DESC(@"stickmapper-fuel-injection")
624 allowable:HW_BUTTON
625 axisfn:STICK_NOFUNCTION
626 butfn:BUTTON_FUELINJECT]];
627 [funcList addObject:
628 [self makeStickGuiDict:DESC(@"stickmapper-hyperspeed")
629 allowable:HW_BUTTON
630 axisfn:STICK_NOFUNCTION
631 butfn:BUTTON_HYPERSPEED]];
632 [funcList addObject:
633 [self makeStickGuiDict:DESC(@"stickmapper-hyperdrive")
634 allowable:HW_BUTTON
635 axisfn:STICK_NOFUNCTION
636 butfn:BUTTON_HYPERDRIVE]];
637 [funcList addObject:
638 [self makeStickGuiDict:DESC(@"stickmapper-gal-hyperdrive")
639 allowable:HW_BUTTON
640 axisfn:STICK_NOFUNCTION
641 butfn:BUTTON_GALACTICDRIVE]];
642
643 [funcList addObject:
644 [self makeStickGuiDict:DESC(@"stickmapper-roll/pitch-precision-toggle")
645 allowable:HW_BUTTON
646 axisfn:STICK_NOFUNCTION
647 butfn:BUTTON_PRECISION]];
648
649
650 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-navigation")]];
651 [funcList addObject:
652 [self makeStickGuiDict:DESC(@"stickmapper-compass-mode-next")
653 allowable:HW_BUTTON
654 axisfn:STICK_NOFUNCTION
655 butfn:BUTTON_COMPASSMODE]];
656 [funcList addObject:
657 [self makeStickGuiDict:DESC(@"stickmapper-compass-mode-prev")
658 allowable:HW_BUTTON
659 axisfn:STICK_NOFUNCTION
660 butfn:BUTTON_COMPASSMODE_PREV]];
661 [funcList addObject:
662 [self makeStickGuiDict:DESC(@"stickmapper-scanner-zoom")
663 allowable:HW_BUTTON
664 axisfn:STICK_NOFUNCTION
665 butfn:BUTTON_SCANNERZOOM]];
666 [funcList addObject:
667 [self makeStickGuiDict:DESC(@"stickmapper-scanner-unzoom")
668 allowable:HW_BUTTON
669 axisfn:STICK_NOFUNCTION
670 butfn:BUTTON_SCANNERUNZOOM]];
671 [funcList addObject:
672 [self makeStickGuiDict:DESC(@"stickmapper-view-forward")
673 allowable:HW_AXIS|HW_BUTTON
674 axisfn:AXIS_VIEWY
675 butfn:BUTTON_VIEWFORWARD]];
676 [funcList addObject:
677 [self makeStickGuiDict:DESC(@"stickmapper-view-aft")
678 allowable:HW_AXIS|HW_BUTTON
679 axisfn:AXIS_VIEWY
680 butfn:BUTTON_VIEWAFT]];
681 [funcList addObject:
682 [self makeStickGuiDict:DESC(@"stickmapper-view-port")
683 allowable:HW_AXIS|HW_BUTTON
684 axisfn:AXIS_VIEWX
685 butfn:BUTTON_VIEWPORT]];
686 [funcList addObject:
687 [self makeStickGuiDict:DESC(@"stickmapper-view-starboard")
688 allowable:HW_AXIS|HW_BUTTON
689 axisfn:AXIS_VIEWX
690 butfn:BUTTON_VIEWSTARBOARD]];
691 [funcList addObject:
692 [self makeStickGuiDict:DESC(@"stickmapper-ext-view-cycle")
693 allowable:HW_BUTTON
694 axisfn:STICK_NOFUNCTION
695 butfn:BUTTON_EXTVIEWCYCLE]];
696 [funcList addObject:
697 [self makeStickGuiDict:DESC(@"stickmapper-toggle-ID")
698 allowable:HW_BUTTON
699 axisfn:STICK_NOFUNCTION
700 butfn:BUTTON_ID]];
701 [funcList addObject:
702 [self makeStickGuiDict:DESC(@"stickmapper-docking-clearance")
703 allowable:HW_BUTTON
704 axisfn:STICK_NOFUNCTION
705 butfn:BUTTON_DOCKINGCLEARANCE]];
706 [funcList addObject:
707 [self makeStickGuiDict:DESC(@"stickmapper-dockcpu")
708 allowable:HW_BUTTON
709 axisfn:STICK_NOFUNCTION
710 butfn:BUTTON_DOCKCPU]];
711 [funcList addObject:
712 [self makeStickGuiDict:DESC(@"stickmapper-dockcpufast")
713 allowable:HW_BUTTON
714 axisfn:STICK_NOFUNCTION
715 butfn:BUTTON_DOCKCPUFAST]];
716 [funcList addObject:
717 [self makeStickGuiDict:DESC(@"stickmapper-docking-music")
718 allowable:HW_BUTTON
719 axisfn:STICK_NOFUNCTION
720 butfn:BUTTON_DOCKINGMUSIC]];
721
722
723 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-offensive")]];
724 [funcList addObject:
725 [self makeStickGuiDict:DESC(@"stickmapper-weapons-online-toggle")
726 allowable:HW_BUTTON
727 axisfn:STICK_NOFUNCTION
728 butfn:BUTTON_WEAPONSONLINETOGGLE]];
729 [funcList addObject:
730 [self makeStickGuiDict:DESC(@"stickmapper-primary-weapon")
731 allowable:HW_BUTTON
732 axisfn:STICK_NOFUNCTION
733 butfn:BUTTON_FIRE]];
734 [funcList addObject:
735 [self makeStickGuiDict:DESC(@"stickmapper-secondary-weapon")
736 allowable:HW_BUTTON
737 axisfn:STICK_NOFUNCTION
738 butfn:BUTTON_LAUNCHMISSILE]];
739 [funcList addObject:
740 [self makeStickGuiDict:DESC(@"stickmapper-arm-secondary")
741 allowable:HW_BUTTON
742 axisfn:STICK_NOFUNCTION
743 butfn:BUTTON_ARMMISSILE]];
744 [funcList addObject:
745 [self makeStickGuiDict:DESC(@"stickmapper-disarm-secondary")
746 allowable:HW_BUTTON
747 axisfn:STICK_NOFUNCTION
748 butfn:BUTTON_UNARM]];
749 [funcList addObject:
750 [self makeStickGuiDict:DESC(@"stickmapper-target-nearest-incoming-missile")
751 allowable:HW_BUTTON
752 axisfn:STICK_NOFUNCTION
753 butfn:BUTTON_TARGETINCOMINGMISSILE]];
754 [funcList addObject:
755 [self makeStickGuiDict:DESC(@"stickmapper-cycle-secondary")
756 allowable:HW_BUTTON
757 axisfn:STICK_NOFUNCTION
758 butfn:BUTTON_CYCLEMISSILE]];
759 [funcList addObject:
760 [self makeStickGuiDict:DESC(@"stickmapper-next-target")
761 allowable:HW_BUTTON
762 axisfn:STICK_NOFUNCTION
763 butfn:BUTTON_NEXTTARGET]];
764 [funcList addObject:
765 [self makeStickGuiDict:DESC(@"stickmapper-previous-target")
766 allowable:HW_BUTTON
767 axisfn:STICK_NOFUNCTION
768 butfn:BUTTON_PREVTARGET]];
769
770
771 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-defensive")]];
772 [funcList addObject:
773 [self makeStickGuiDict:DESC(@"stickmapper-ECM")
774 allowable:HW_BUTTON
775 axisfn:STICK_NOFUNCTION
776 butfn:BUTTON_ECM]];
777 [funcList addObject:
778 [self makeStickGuiDict:DESC(@"stickmapper-jettison")
779 allowable:HW_BUTTON
780 axisfn:STICK_NOFUNCTION
781 butfn:BUTTON_JETTISON]];
782 [funcList addObject:
783 [self makeStickGuiDict:DESC(@"stickmapper-rotate-cargo")
784 allowable:HW_BUTTON
785 axisfn:STICK_NOFUNCTION
786 butfn:BUTTON_ROTATECARGO]];
787 [funcList addObject:
788 [self makeStickGuiDict:DESC(@"stickmapper-escape-pod")
789 allowable:HW_BUTTON
790 axisfn:STICK_NOFUNCTION
791 butfn:BUTTON_ESCAPE]];
792
793
794 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-special-equip")]];
795 [funcList addObject:
796 [self makeStickGuiDict:DESC(@"stickmapper-mfd-select-next")
797 allowable:HW_BUTTON
798 axisfn:STICK_NOFUNCTION
799 butfn:BUTTON_MFDSELECTNEXT]];
800 [funcList addObject:
801 [self makeStickGuiDict:DESC(@"stickmapper-mfd-select-prev")
802 allowable:HW_BUTTON
803 axisfn:STICK_NOFUNCTION
804 butfn:BUTTON_MFDSELECTPREV]];
805 [funcList addObject:
806 [self makeStickGuiDict:DESC(@"stickmapper-mfd-cycle-next")
807 allowable:HW_BUTTON
808 axisfn:STICK_NOFUNCTION
809 butfn:BUTTON_MFDCYCLENEXT]];
810 [funcList addObject:
811 [self makeStickGuiDict:DESC(@"stickmapper-mfd-cycle-prev")
812 allowable:HW_BUTTON
813 axisfn:STICK_NOFUNCTION
814 butfn:BUTTON_MFDCYCLEPREV]];
815 [funcList addObject:
816 [self makeStickGuiDict:DESC(@"stickmapper-prime-equipment")
817 allowable:HW_BUTTON
818 axisfn:STICK_NOFUNCTION
819 butfn:BUTTON_PRIMEEQUIPMENT]];
820 [funcList addObject:
821 [self makeStickGuiDict:DESC(@"stickmapper-prime-prev-equipment")
822 allowable:HW_BUTTON
823 axisfn:STICK_NOFUNCTION
824 butfn:BUTTON_PRIMEEQUIPMENT]];
825 [funcList addObject:
826 [self makeStickGuiDict:DESC(@"stickmapper-activate-equipment")
827 allowable:HW_BUTTON
828 axisfn:STICK_NOFUNCTION
829 butfn:BUTTON_ACTIVATEEQUIPMENT]];
830 [funcList addObject:
831 [self makeStickGuiDict:DESC(@"stickmapper-mode-equipment")
832 allowable:HW_BUTTON
833 axisfn:STICK_NOFUNCTION
834 butfn:BUTTON_MODEEQUIPMENT]];
835 [funcList addObject:
836 [self makeStickGuiDict:DESC(@"stickmapper-fastactivate-a")
837 allowable:HW_BUTTON
838 axisfn:STICK_NOFUNCTION
839 butfn:BUTTON_CLOAK]];
840 [funcList addObject:
841 [self makeStickGuiDict:DESC(@"stickmapper-fastactivate-b")
842 allowable:HW_BUTTON
843 axisfn:STICK_NOFUNCTION
844 butfn:BUTTON_ENERGYBOMB]];
845
846
847 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-misc")]];
848 [funcList addObject:
849 [self makeStickGuiDict:DESC(@"stickmapper-snapshot")
850 allowable:HW_BUTTON
851 axisfn:STICK_NOFUNCTION
852 butfn:BUTTON_SNAPSHOT]];
853 [funcList addObject:
854 [self makeStickGuiDict:DESC(@"stickmapper-pause")
855 allowable:HW_BUTTON
856 axisfn:STICK_NOFUNCTION
857 butfn:BUTTON_PAUSE]];
858 [funcList addObject:
859 [self makeStickGuiDict:DESC(@"stickmapper-toggle-hud")
860 allowable:HW_BUTTON
861 axisfn:STICK_NOFUNCTION
862 butfn:BUTTON_TOGGLEHUD]];
863 [funcList addObject:
864 [self makeStickGuiDict:DESC(@"stickmapper-comms-log")
865 allowable:HW_BUTTON
866 axisfn:STICK_NOFUNCTION
867 butfn:BUTTON_COMMSLOG]];
868#if OO_FOV_INFLIGHT_CONTROL_ENABLED
869 [funcList addObject:
870 [self makeStickGuiDict:DESC(@"stickmapper-increase-field-of-view")
871 allowable:HW_AXIS|HW_BUTTON
872 axisfn:AXIS_FIELD_OF_VIEW
873 butfn:BUTTON_INC_FIELD_OF_VIEW]];
874 [funcList addObject:
875 [self makeStickGuiDict:DESC(@"stickmapper-decrease-field-of-view")
876 allowable:HW_AXIS|HW_BUTTON
877 axisfn:AXIS_FIELD_OF_VIEW
878 butfn:BUTTON_DEC_FIELD_OF_VIEW]];
879#endif
880 if ([customEquipActivation
count] > 0) {
881 [funcList addObject:[self makeStickGuiDictHeader:DESC(@"stickmapper-header-oxp-equip")]];
882 int i;
883 for (i = 0; i < [customEquipActivation count]; i++)
884 {
885 [funcList addObject:
886 [self makeStickGuiDict:[NSString stringWithFormat: @"Activate '%@'", [[customEquipActivation objectAtIndex:i] oo_stringForKey:CUSTOMEQUIP_EQUIPNAME]]
887 allowable:HW_BUTTON
888 axisfn:STICK_NOFUNCTION
889 butfn:(i+10000)]];
890 [funcList addObject:
891 [self makeStickGuiDict:[NSString stringWithFormat: @"Mode '%@'", [[customEquipActivation objectAtIndex:i] oo_stringForKey:CUSTOMEQUIP_EQUIPNAME]]
892 allowable:HW_BUTTON
893 axisfn:STICK_NOFUNCTION
894 butfn:(i+20000)]];
895 }
896
897 }
898 return funcList;
899}