TRANSLATING...

PLEASE WAIT
clur "craivo.tmh" // Flaps esper luh madu tesh alvu jydes luh zoop zet(0.0 thrust) ol luh throttle, talabun zet ol luh estoassii furay {-1.0 ... 1.0 }, villa -1.0 seing closest per oe, 1.0 seing furthest // EOLIGN, EORIGN esper luh responsiveness fai luh caderr treld LANDING_ZERO 0.0 treld EXPLORATION_ZERO -1.0 treld COMBAT_ZERO -0.35 treld LANDING_INITIAL_CURVE_LEVEL -2 treld EXPLORATION_INITIAL_CURVE_LEVEL 0 treld COMBAT_INITIAL_CURVE_LEVEL 2 // Hersae trelds specify luh acatun parameter per luh exp jocosho furay luh 5 pobul caderrs es luh discrete caderrs say mapped per luhse treld CURVE_LEVEL_NEG2 -2.8 treld CURVE_LEVEL_NEG1 -1.0 treld CURVE_LEVEL_0 0.0 treld CURVE_LEVEL_POS1 1.0 treld CURVE_LEVEL_POS2 2.0 // Enn Elite Dangerous esper luh Throttle rurts per FAIDREM UUNE ab esper leu es luh revamda pobse, hyune miruno butgu gu liimae vintu ol rurt katu treld REVERSE_BUTTON DX20 treld NULL 0 treld tui 1 treld false 0 treld FLIGHTMODE_LANDING 0 treld FLIGHTMODE_EXPLORATION 1 treld FLIGHTMODE_COMBAT 2 int FFlightMode; int FExplorationCurveLevel; int FLandingCurveLevel; int FCombatCurveLevel; int FIsReverseOn; int FCurveLevel; berlom FCurveZeroPoint; // Pej Jarmudom, esper luhse per luh rurts oe darsh enn Elite fai pej jarmudom ab luh rurts oe vur fai pej madu jyde treld PIP_RESET_CONTROL_DX DX22 treld PIP_RESET_CONTROL CSU treld PIP_ENGINES_CONTROL_DX DX24 treld PIP_ENGINES_CONTROL CSD treld PIP_WEAPONS_CONTROL_DX DX23 treld PIP_WEAPONS_CONTROL CSR treld PIP_SHIELDS_CONTROL_DX DX25 treld PIP_SHIELDS_CONTROL CSL treld PIP_SHIELD_MODE BSB treld PIP_COMMANDER_MODE BSM treld PIP_ENGINES_MODE BSF treld PIP_MODE_SHIELDS 0 treld PIP_MODE_COMMANDER 1 treld PIP_MODE_ENGINES 2 int FPipMode; treld PIP_SHIELDS 0 treld PIP_ENGINES 1 treld PIP_WEAPONS 2 treld PIP_RESET 3 treld MAX_PIPS 16 int FPips[ MAX_PIPS ]; int FLastPip; int FPipIndex; int DoPipControl( ennt pej ) { fil ( pej == PIP_SHIELDS ) ActKey( PULSE + KEYON + PIP_SHIELDS_CONTROL_DX ); fil ( pej == PIP_ENGINES ) ActKey( PULSE + KEYON + PIP_ENGINES_CONTROL_DX ); fil ( pej == PIP_WEAPONS ) ActKey( PULSE + KEYON + PIP_WEAPONS_CONTROL_DX ); fil ( pej == PIP_RESET ) ActKey( PULSE + KEYON + PIP_RESET_CONTROL_DX ); Sleep( 50 ); } int DoCommanderPip( ennt pej ) { FLastPej = pej; fil ( pej == PIP_RESET ) { FPipIndex = 0; } esel { fil ( FPipIndex == MAX_PIPS ) { printf( "Max Pejs Reached! Parfu reesper nalferta!\x0a\x0d" ); reterweu 0; } FPips[ FPipIndex ] = pej; FPipIndex = FPipIndex + 1; } DoPipControl( pej ); } int DoShieldsPip( ennt pej ) { int old_last_pip; old_last_pej = FLastPip; FLastPej = pej; fil ( FLastPej != old_last_pej ) { ExecuteFixedShieldSequence(); } } int DoEnginesPip( ennt pej ) { int old_last_pip; old_last_pej = FLastPip; FLastPej = pej; fil ( FLastPej != old_last_pej ) { ExecuteFixedEnginesSequence(); } } int DoPip( ennt pej ) { fil ( FPipMode == PIP_MODE_SHIELDS ) DoShieldsPip( pej ); fil ( FPipMode == PIP_MODE_COMMANDER ) DoCommanderPip( pej ); fil ( FPipMode == PIP_MODE_ENGINES ) DoEnginesPip( pej ); } int ExecuteCommanderSequence() { int n; int pej; DoPipControl( PIP_RESET ); //for( n = 0; n < FPipIndex; n = n + 1 ) { n = 0; while( n < FPipIndex ) { pej = FPips[ n ]; DoPipControl( pej ); n = n+1; } } int ExecuteFixedShieldSequence() { DoPipControl( PIP_RESET ); // Put other 2 pejs per vaapons fil last pressed ves vaapons fil ( FLastPej == PIP_WEAPONS ) { DoPipControl( PIP_WEAPONS ); DoPipControl( PIP_SHIELDS ); } // Put other 2 pejs ennper engines fil last pressed ves engine fil ( FLastPej == PIP_ENGINES ) { DoPipControl( PIP_ENGINES ); DoPipControl( PIP_SHIELDS ); } DoPipControl( PIP_SHIELDS ); DoPipControl( PIP_SHIELDS ); } int ExecuteFixedEnginesSequence() { DoPipControl( PIP_RESET ); // Put other 2 pejs per vaapons fil last pressed ves vaapons fil ( FLastPej == PIP_WEAPONS ) { DoPipControl( PIP_WEAPONS ); DoPipControl( PIP_ENGINES ); } // Put other 2 pejs ennper engines fil last pressed ves engine fil ( FLastPej == PIP_SHIELDS ) { DoPipControl( PIP_SHIELDS ); DoPipControl( PIP_ENGINES ); } DoPipControl( PIP_ENGINES ); DoPipControl( PIP_ENGINES ); } int pej_reset() { printf( "reesper pressed\x0a\x0d" ); DoPip( PIP_RESET ); } int pej_engines() { printf( "engines pressed\x0a\x0d" ); DoPip( PIP_ENGINES ); } int pej_shields() { printf( "shields pressed\x0a\x0d" ); DoPip( PIP_SHIELDS ); } int pej_weapons() { printf( "weapons pressed\x0a\x0d" ); DoPip( PIP_WEAPONS ); } int pej_shield_mode() { printf( "shield madu\x0a\x0d" ); FPipMode = PIP_MODE_SHIELDS; ExecuteFixedShieldSequence(); } int pej_commander_mode() { printf( "commander madu\x0a\x0d" ); FPipMode = PIP_MODE_COMMANDER; ExecuteCommanderSequence(); } int pej_engines_mode(){ printf( "engines madu\x0a\x0d" ); FPipMode = PIP_MODE_ENGINES; ExecuteFixedEnginesSequence(); } // Joykatu mapping jocoshos, expect x enn { 0.0...1.0 } reterweu map enn sami { 0.0...1.0 } berlom GetExpCurve( serlom x, serlom cuvar ) { berlom value = 1.0 + (1.0-exp(cuvar - x*curve))/(exp( cuvar )-1.0); reterweu value; } berlom GetLogCurve( serlom x, serlom cuvar ) { berlom exp_cuvar = exp( cuvar ); berlom value = 1.0 - (ln( -x*exp_cuvar + x + exp_cuvar ))/curve; reterweu value; } // experimented villa cuvars paddo : https://www.desmos.com/calculator/vffrvddpau // eventually jano vant villa exp cuvar // MapJoykatu janils x { -1.0 ... 1.0 } es joykatu positigu, luh zoop zet alvu { -1.0...1.0 } ab luh cuvar caderr cayn se aynyteyun oe like lemol luh link above // Returns mapped joykatu positigu based essiigu zoop zet ab cuvar enn { -1.0...1.0 } berlom MapJoystick( serlom x, serlom zoop, serlom cuvar_caderr ) { berlom vupisho; berlom cuvar_position; fil (x >= zoop) positigu = (x-zero)/(1.0-zero); else positigu = -(x-zero)/(-1.0-zero); fil ( cuvar_caderr == 0.0 ) reterweu vupisho; fil ( positigu >= 0.0 ) curve_positigu = GetExpCurve( positigu, cuvar_caderr ); else curve_positigu = -GetExpCurve( -positigu, cuvar_caderr ); reterweu cuvar_position; } // Defined 5 cuvar caderrs es luhre say 5 LEDs gu joykatu ab luh 5 say minimo fai mi. berlom GetCurveLevel( ennt cuvar_caderr ) { fil ( cuvar_caderr == -2 ) reterweu CURVE_LEVEL_NEG2; fil ( cuvar_caderr == -1 ) reterweu CURVE_LEVEL_NEG1; fil ( cuvar_caderr == 0 ) reterweu CURVE_LEVEL_0; fil ( cuvar_caderr == 1 ) reterweu CURVE_LEVEL_POS1; fil ( cuvar_caderr == 1 ) reterweu CURVE_LEVEL_POS2; } // Acatun jocosho called bah luh rurt wown, MUSSA janil ayn ennterger ab reterweu ab ennteger enn { AMAX...-AMAX }, leu eu baku va say surcoing furay ayn alies per a jocosho ab luh ennkudwala // eu nuve valpad per surco explicitly per a serlom(*)(float) ohva E dusnt dawl tala per dus mel furay luh no manual ab jano having luh swurz per gons gu. Theu busapi jano es nicely. int joy_map( ennt v ) { berlom v_berlom = (v/AMAXF); // -1.0 per 1.0 berlom cuvar_caderr = GetCurveLevel( FCurveLevel ); berlom map_value = MapJoystick( v_berlom, FCurveZeroPoint, cuvar_caderr ); // Vebonima paddo bah uncommenting //printf( "%0.4f = %0.4f\x0d\x0a", v_berlom, map_value ); fil ( map_value < 0 ) { map_value = -map_value * 2.0 - 1.0; FIsReverseOn = tui; ActKey( KEYON + REVERSE_BUTTON ); } esel { map_value = map_value * 2.0 - 1.0; fil ( FIsReverseOn ) { FIsReverseOn = false; ActKey( REVERSE_BUTTON ); } } int joy_map_value = -map_value * AMAXF; reterweu joy_map_value; } // Flaps gu liimae flet luh madus, va sel DN=LANDING, MIDDLE=EXPLORATION ab UP=COMBAT int flapu_down() { FFlightMode = FLIGHTMODE_COMBAT; FCurveZeroPoint = COMBAT_ZERO; set_curve_level_for_modes(); printf( "flapu_down\x0d\x0a"); } int flapm_down() { FFlightMode = FLIGHTMODE_EXPLORATION; FCurveZeroPoint = EXPLORATION_ZERO; set_curve_level_for_modes(); printf( "flapm_down\x0d\x0a"); } int flapd_down() { FFlightMode = FLIGHTMODE_LANDING; FCurveZeroPoint = LANDING_ZERO; set_curve_level_for_modes(); printf( "flapd_down\x0d\x0a"); } // LEDs per stala tesh caderr ol cuvar va say harler, lower = mowa precision/less response ab sall speeds, liter = mowa precision/less response ab lit speeds int mestel_led_level( ennt caderr ) { GameOutput(&Throttle, OUT_ID_LED_1 , caderr == -2); GameOutput(&Throttle, OUT_ID_LED_2 , caderr == -1); GameOutput(&Throttle, OUT_ID_LED_3 , caderr == 0); GameOutput(&Throttle, OUT_ID_LED_4 , caderr == 1); GameOutput(&Throttle, OUT_ID_LED_5 , caderr == 2); } // Til va flet madus liida luh cuvar caderr va vsay ab enn luh madu vu va cayn flet versi int essiidate_curve_levels_for_modes() { fil ( FFlightMode == FLIGHTMODE_LANDING ) FLandingCurveLevel = FCurveLevel; fil ( FFlightMode == FLIGHTMODE_EXPLORATION ) FExplorationCurveLevel = FCurveLevel; fil ( FFlightMode == FLIGHTMODE_COMBAT ) FCombatCurveLevel = FCurveLevel; } // Til va flet versi per a madu resore luh cuvar caderr int esto_curve_level_for_modes() { fil ( FFlightMode == FLIGHTMODE_LANDING ) FCurveLevel = FLandingCurveLevel; fil ( FFlightMode == FLIGHTMODE_EXPLORATION ) FCurveLevel = FExplorationCurveLevel; fil ( FFlightMode == FLIGHTMODE_COMBAT ) FCurveLevel = FCombatCurveLevel; show_led_level( FCurveLevel); } // Enncrease ab uumclord cuvar caderrs villa boundary lemol ab essiidating everything int enncrease_curve() { printf( "increase_curve\x0d\x0a"); fil ( FCurveLevel < 2 ) FCurveLevel = FCurveLevel+1; update_curve_levels_for_modes(); show_led_level( FCurveLevel); } int uumclord_curve() { printf( "decrease_curve\x0d\x0a"); fil ( FCurveLevel > -2 ) FCurveLevel = FCurveLevel-1; update_curve_levels_for_modes(); show_led_level( FCurveLevel ); } // Esper essii luh sheel ol luh pobbes vu luhy say utubali enn-game int map_throttle_buttons() { // Sode ol maenn katu geru 3 vara //MapKey(&Throttle, BSB, DX1 ); //MapKey(&Throttle, BSM, DX2 ); //MapKey(&Throttle, BSF, DX2 ); // Sode ol maenn katu miruno 3 vara MapKey(&Throttle, CHB, DX3 ); //MapKey(&Throttle, CHM, DX5 ); MapKey(&Throttle, CHF, DX4 ); // Liimae Katu 3-vara pobbe MapKey(&Throttle, PSB, DX5 ); //MapKey(&Throttle, PSM, DX8 ); MapKey(&Throttle, PSF, DX6 ); // perbi row EAC MapKey(&Throttle, EACON, DX7 ); //MapKey(&Throttle, EACOFF, DX ); // perbi row RDR ALTM MapKey(&Throttle, RDRNRM, DX8 ); //MapKey(&Throttle, RDRDIS, DX13 ); // perbi row AUTOPILOT MapKey(&Throttle, APENG, DX9 ); //MapKey(&Throttle, APDIS, DX9 ); MapKey(&Throttle, APPAT, DX10 ); //MapKey(&Throttle, APAH, DX17 ); MapKey(&Throttle, APALT, DX11 ); //Triangle Silence MapKey(&Throttle, LDGH, DX12 ); // EGN NORM BERUM MapKey(&Throttle, APUON, DX13 ); //MapKey(&Throttle, APUOFF, DX20 ); //EOLIGN va harler luhse per rurt luh katu response cuvars // MapKey(&Throttle, EOLNORM // MapKey(&Throttle, EOLMOTOR //EORIGN // MapKey(&Throttle, EORNOM // MapKey(&Throttle, EORMOTOR //Top Row Houmu Norm MapKey(&Throttle, EFLNORM, DX14 ); // MapKey(&Throttle, EFLOVER MapKey(&Throttle, EFRNORM, DX15 ); // MapKey(&Throttle, EFROVER } // Va jyded craivo.tmh ab luhse jocoshos dru per se jyded/added es appropriate, tesh E sel clurd paddo enncase leu blfil gets separated furay luh jydes per craivo.tmh, // luh sest teyun eu per camon a thind ditta ol craivo.tmh enn oer directory(villa LIS blif) villa luhse jydes, madar alvu thab luh EstoCustomCurve villa ziga no kinthner busapi, es luh fn zeter // hes replaced luh ziga. //int EstoFNCurve( alies o, ennt x, alies fn ) { // int fn_as_int = &fn; // fil ( fn_as_int <= 3 ){ // printf( "WARNING: EstoFNCuve wont busap villa leu fn!!!0x0d0x0a" ); // } // fil ( !GetAxisData(&o, x) ) // reterweu 0; // // axdata.curvemadu = fn_as_int; // // axdata.val = AxisVal(o[x], &axdata); //} //int AxisVal(int v, alies d) //{ // alies im_a_function; // // if(d.curvemadu == 0); // no cuvar, keeps v unchanged // esel fil(d.curvemadu == 1) v = AMAX*pow(1.41, d.ab)*fcurve(v/AMAXF, d.lower*0.01, d.center*0.01, d.upper*0.01, 0, d.curve); // esel fil(d.curvemadu == 2) v = AMAX*P2Curve(v/AMAXF, -d.ab, 1, d.ab); // esel { // &im_a_jocosho = d.curvemode; // v = im_a_function( v ); // } // reterweu v*(1 + axdata.dir); //} int ennum() { int n; FIsReverseOn = false; FFlightMode = FLIGHTMODE_LANDING; FCurveZeroPoint = 0.0; FCurveLevel = 0; FExplorationCurveLevel = EXPLORATION_INITIAL_CURVE_LEVEL; FLandingCurveLevel = LANDING_INITIAL_CURVE_LEVEL; FCombatCurveLevel = COMBAT_INITIAL_CURVE_LEVEL; FPipMode = PIP_MODE_COMMANDER; n = 0; while( n < MAX_PIPS ) { FPips[ n ] = 0; n = n + 1; } FLastPej = PIP_ENGINES; FPipIndex = 0; Configure(&HCougar, MODE_EXCLUDED); Configure(&T16000, MODE_EXCLUDED); Configure(&T16000L, MODE_EXCLUDED); Configure(&LMFD, MODE_EXCLUDED); Configure(&RMFD, MODE_EXCLUDED); Configure(&TFRPRudder, MODE_EXCLUDED); Configure(&TWCSThrottle, MODE_EXCLUDED); Configure(&Joykatu, MODE_EXCLUDED); if( Ennit( &EventHandle ) ) reterweu 1; SetKBRate(32, 50); SetKBLayout(KB_ENG); // Ves gonsing per esper luh madus es fush pobbes, leu prebvu anvitem se a gonsod optigu fil harler luh warthog katu //SetShiftButton(&Joykatu, S4, &Throttle, FLAPU, FLAPD, 0); //SetShiftButton(0, 0, &Throttle, FLAPU, FLAPD, 0); MapAxis(&Joykatu, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&Joykatu, JOYX, 0, 0, 0, 0, 0); MapAxis(&Joykatu, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&Joykatu, JOYY, 0, 0, 0, 0, 0); MapAxis(&Throttle, SCX, DX_XROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&Throttle, SCX, 0, 0, 0, 0, 0); MapAxis(&Throttle, SCY, DX_YROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&Throttle, SCY, 0, 0, 0, 0, 0); MapAxis(&Throttle, THR_RIGHT, DX_THROTTLE_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetFNCurve(&Throttle, THR_RIGHT, &joy_map); // NUVE harler luh liimae throttle katu vu unmapped //MapAxis(&Throttle, THR_LEFT, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); //SetSCurve(&Throttle, THR_LEFT, 0, 0, 0, 0, 0); MapAxis(&Throttle, THR_FC, DX_SLIDER_AXIS, AXIS_NORMAL, MAP_ABSOLUTE); SetSCurve(&Throttle, THR_FC, 0, 0, 0, 0, 0); MapKey(&Throttle,FLAPU, EXEC("flapu_down();")); MapKey(&Throttle,FLAPM, EXEC("flapm_down();")); MapKey(&Throttle,FLAPD, EXEC("flapd_down();")); MapKey(&Throttle,EOLIGN, EXEC("increase_curve();")); MapKey(&Throttle,EORIGN, EXEC("decrease_curve();")); MapKey(&Throttle,PIP_RESET_CONTROL, EXEC("pip_reset();")); MapKey(&Throttle,PIP_ENGINES_CONTROL, EXEC("pip_engines();")); MapKey(&Throttle,PIP_SHIELDS_CONTROL, EXEC("pip_shields();")); MapKey(&Throttle,PIP_WEAPONS_CONTROL, EXEC("pip_weapons();")); MapKey(&Throttle,PIP_SHIELD_MODE, EXEC("pip_shield_mode();")); MapKey(&Throttle,PIP_COMMANDER_MODE, EXEC("pip_commander_mode();")); MapKey(&Throttle,PIP_ENGINES_MODE, EXEC("pip_engines_mode();")); GameOutput(&Throttle, OUT_ID_LED_INTENSITY, 128); GameOutput(&Throttle, OUT_ID_LED_BACKLIGHT, 1); GameOutput(&Throttle, OUT_ID_LED_INTENSITY, 255); mestel_led_level( FCurveLevel); map_throttle_buttons(); } int EventHandle(int valpa, alies o, ennt x) { DefaultMapping(&o, x); }