Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include "target.tmh"
- //program startup
- int FAmode=1;
- int SRmode=0;
- int sysP=2;
- int wepP=2;
- int engP=2;
- int hatU=0;
- int hatL=0;
- int hatR=0;
- int hatD=0;
- int pipFire = 0;
- int MyKBsim;
- int main()
- {
- Configure(&HCougar, MODE_EXCLUDED);
- Configure(&Joystick, MODE_EXCLUDED);
- Configure(&Throttle, MODE_EXCLUDED);
- Configure(&LMFD, MODE_EXCLUDED);
- Configure(&RMFD, MODE_EXCLUDED);
- if(Init(&EventHandle)) return 1;
- SetKBRate(32, 50);
- SetKBLayout(KB_ENG);
- SetShiftButton(0, 0, 0, 0, 0, 0);
- MapKey(&T16000, TS2, DX2);
- MapKey(&T16000, TS3, DX3);
- MapKey(&T16000, TS4, PULSE+DX4, PULSE+DX4);
- MapKey(&T16000, TS3, EXEC("FAswap();"));
- MapKey(&T16000, B11, EXEC("FigOne();"));
- MapKey(&T16000, B12, EXEC("FigTwo();"));
- MapKey(&T16000, H1U, CHAIN(LOCK+EXEC("hatU=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
- MapKey(&T16000, H1R, CHAIN(LOCK+EXEC("hatR=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
- MapKey(&T16000, H1D, CHAIN(LOCK+EXEC("hatD=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
- MapKey(&T16000, H1L, CHAIN(LOCK+EXEC("hatL=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
- MapKeyR(&T16000, H1U, EXEC("hatU=0;"));
- MapKeyR(&T16000, H1R, EXEC("hatR=0;"));
- MapKeyR(&T16000, H1D, EXEC("hatD=0;"));
- MapKeyR(&T16000, H1L, EXEC("hatL=0;"));
- FAonAxis();
- FigOne();
- //add initialization code here
- }
- //event handler
- int EventHandle(int type, alias o, int x)
- {
- DefaultMapping(&o, x);
- //add event handling code here
- }
- int FAoffAxis()
- {
- MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, JOYX, 2, 2, 2, 0, -2);
- MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, JOYY, 2, 3, 2, 0, -2);
- MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, RUDDER, 2, 2, 2, 0, -2);
- MapAxis(&T16000, THR, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
- }
- int FAonAxis()
- {
- MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, JOYX, 2, 2, 2, 0, 0);
- MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, JOYY, 2, 3, 2, 0, 0);
- MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, RUDDER, 2, 2, 2, 0, 0);
- MapAxis(&T16000, THR, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
- SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
- }
- int FAswap(){
- if(FAmode==0){
- FAonAxis();
- printf("FAon!\xa");
- ActKey(PULSE + KEYON + USB[0x1D]);
- FAmode = 1;
- }
- else{
- FAoffAxis();
- printf("FAoff!\xa");
- ActKey(PULSE + KEYON + USB[0x1D]);
- FAmode = 0;
- }
- }
- int SRswap(){
- printf("srtest1\xa");
- if(SRmode==0){
- ActKey(PULSE + KEYON + USB[0x4C]);
- SRmode = 1;
- printf("srtest2\xa");
- }
- else{
- ActKey(PULSE + KEYON + USB[0x4C]);
- SRmode = 0;
- printf("srtest3\xa");
- }
- }
- //To set pips, the following hat motions achieve:
- //Down:2/2/2
- //Down Release Right: 1/1/4
- //Down release Up: 1/4/1
- //Down release Left: 4/1/1
- //Down/left or down/right: 3/0/3
- //Up/right or right/up: 0/3/3
- //Up/left or left/up: 3/3/0
- //Up release left: 4/2/0
- //Up release right: 0/2/4
- //Left release up: 2/4/0
- //Left release right: 2/0/4
- //right release left: 4/0/2
- //Right release up: 0/4/2
- //Any single pulse will set the associated system to 4 (or reset to 2/2/2 with down pulse)
- int Hpulses(int u, int d, int l, int r){
- if(u&r) pipTransition(0,3,3);
- else if (u&l) pipTransition(3,3,0);
- else if (d&r) pipTransition(3,0,3);
- else if (d&l) pipTransition(3,0,3);
- else if (r){
- if (sysP>engP) pipTransition(2,0,4);
- else if (engP>sysP) pipTransition(0,2,4);
- else pipTransition(1,1,4);
- }
- else if (l){
- if (wepP>engP) pipTransition(4,0,2);
- else if (engP>wepP) pipTransition(4,2,0);
- else pipTransition(4,1,1);
- }
- else if (u){
- if (sysP>wepP) pipTransition(2,4,0);
- else if (wepP>sysP) pipTransition(0,4,2);
- else pipTransition(1,4,1);
- }
- else if (d){
- pipTransition(2,2,2);
- }
- }
- int pipTransition(int s, int e, int w){
- if((s>e)&(s>w)){
- if (e>w){
- MyKBsim=CHAIN(PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW);
- sysP=4;
- wepP=0;
- engP=2;
- }
- else if (w>e){
- MyKBsim=CHAIN(PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW);
- sysP=4;
- wepP=2;
- engP=0;
- }
- else{
- MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + LARROW,D(),PULSE + LARROW);
- sysP=4;
- wepP=1;
- engP=1;
- }
- }
- else if ((e>s)&(e>w)){
- if (s>w){
- MyKBsim=CHAIN(PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW);
- sysP=2;
- wepP=0;
- engP=4;
- }
- else if (w>s){
- MyKBsim=CHAIN(PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW);
- sysP=0;
- wepP=2;
- engP=4;
- }
- else{
- MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D());
- sysP=1;
- wepP=1;
- engP=4;
- }
- }
- else if ((w>e)&(w>s)){
- if (s>e){
- MyKBsim=CHAIN(PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW);
- sysP=2;
- wepP=4;
- engP=0;
- }
- else if (e>s){
- MyKBsim=CHAIN(PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW);
- sysP=0;
- wepP=4;
- engP=2;
- }
- else{
- MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D());
- sysP=1;
- wepP=4;
- engP=1;
- }
- }
- else if ((s==e)&(w==0)){
- MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + LARROW,D(),PULSE + UARROW,D(),PULSE + LARROW,D(),PULSE + UARROW);
- sysP=3;
- wepP=0;
- engP=3;
- }
- else if((w==e)&(s==0)){
- MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + RARROW,D(),PULSE + UARROW,D(),PULSE + RARROW,D(),PULSE + UARROW);
- sysP=0;
- wepP=3;
- engP=3;
- }
- else if((w==s)&(e==0)){
- MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + RARROW,D(),PULSE + LARROW,D(),PULSE + RARROW,D(),PULSE + LARROW);
- sysP=3;
- wepP=3;
- engP=0;
- }
- else {
- MyKBsim=PULSE + DARROW;
- sysP=2;
- wepP=2;
- engP=2;
- }
- ActKey(KEYON + MyKBsim);
- }
- int FigOne()
- {
- MapKey(&T16000, TS1, CHAIN(DX1,LOCK+PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW,LOCK));
- MapKeyR(&T16000, TS1, CHAIN(EXEC("if(wepP<4) pipTransition(sysP, engP, wepP);")));
- if(FAmode==0) FAswap();
- if(SRmode==1) SRswap();
- printf("Elite:Dangerous Default Freespace Control Scheme\xa");
- }
- int FigTwo()
- {
- MapKey(&T16000, TS1, CHAIN(EXEC("if(SRmode==1)SRswap();"), DX1 ,LOCK+PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW,LOCK));
- MapKeyR(&T16000, TS1, CHAIN(EXEC("if(SRmode==0)SRswap();"),D(),EXEC("if(wepP<4) pipTransition(sysP, engP, wepP);")));
- if(FAmode==0) FAswap();
- if(SRmode==0) SRswap();
- printf("Elite:Dangerous Silent Freespace Control Scheme\xa");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement