-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCOD Pro.gpc
5853 lines (5197 loc) · 283 KB
/
COD Pro.gpc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
█████ ███─ ████─ ████─ ████─ ███──
█─ █─ █ █ █─ █ █ █ █ █─ █
█ █ █ █─ █ ████ █████─ █ █
█ █ █ █ █ █── █── █ █ █─
█████─ ███ ████── █ █ ██ ███
v8.0.0 — July 2024
By Fadexz
Features:
█► Anti-Recoil
█ compensates recoil while also able to use rumble/vibration to increase the amount on shots
█► Slowdown Aim Assist Abuse
█ automatically moves your ads (in small circle) while you are not moving to allow for slowing down when moving
█ towards a target which will favour to their direction
█► Reload Cancel
█ automatically cancel reload on press of 'ADS' and/or 'FIRE'
█► Auto Reload
█ automatically reload after shooting
█► Jump Shot
█ jump when pressing 'ADS' and/or 'FIRE'
█► Rapid Fire
█ turbo/spam 'FIRE' for non-auto weapons automatically on hold
█► Auto Focus
█ automatically focuses (hold breath) while ADS
█► Auto Ping
█ ping when firing, on a specified time of no firing cooldown
█► Snap On Aim Assist Abuse
█ for ZM/SP aka PvE modes, don't use on PvP modes
█► Quick Scoper
█ instantly unscopes and removes shot recoil to make quick scoping feel nicer, requires a throwing knife
█► Turbo Jump
█ spam on hold
█► Turbo Melee
█ spam on hold
█► Auto Sprint
█ has press, toggle, and hold options) + Boosted Auto Sprint Mode (exploit for Black Ops Cold War)
█ these also make the walk area larger by making the sprint area a little tighter than in-game Auto Sprint
█ requires auto sprint in-game disabled and preferably use hold mode to allow the script to stop the sprinting
█► Slide Cancel
█ quickly cancels your slide midway and stands immediately
█► Pickup Cancel
█ cancels out the animation of picking up a weapon to almost instantly start being able to use it
█► Swap Cancel
█ cancels out the animation of swapping a weapon as soon as the weapon has been swapped, best when both weapons
█ have similar swap times
█► Dropshot
█ automatically drops to prone when firing then immediately stands afterwards
█► Crouch Shot
█ automatically crouches when firing
█► Underbarrel Jitter
█ for MWII/DMZ - Abuses a bug which instantly resets shot cooldown and turns your main weapon's ammo into
█ grenades / launcher ammo - Fires at up to ~9 grenades/shots per second!
█► "YY" Cancel
█ fun feature
█ cancel the swap animation constantly to jitter the animation for a visual effect, may cause delayed ads
█► Hair Triggers
█ remove trigger deadzone or increase starting point of triggers
█► Custom Deadzone
█ used to add a deadzone to the physical right stick
█ you would use this to allow for the script to input lower values to the game with a *very low in-game deadzone*
█ like for Aim Assist Abuse but still have your stick act the same
█ e.g with a in-game deadzone of 1% you can have your radius at 5% and custom deadzone at your usual 10% deadzone
█► Humanise Inputs
█ randomise values and limit turbo features to keep closer to human limitations
█► Display Config
█ configure what displays on the OLED Screen and how it does, such as screensaver options
█► LED Config
█ customise how the Zen's LED displays
█► Block Vibration/Haptics
█ stop vibration to the controller but allow rumble-based features to still work
█► Inactivity Timeout
█ allows for you to turn off your controller (wireless only) or other stuff when inactive
█► Fast Power Off
█ quickly power off your controller with a shorter hold of the XBOX/PS button than usual, for wireless connection only
█► Adaptive Triggers Config
█ gives control over what the DualSense Adaptive Triggers do
█► Crossover Mapping Fix
█ proper mapping for unmatching controllers and consoles
█► Input Layout
█ map the script to your game button layout
█► Input Interval
█ Adjust the speed at which the script updates scripted/automated inputs, higher consistent frame rates mean you can have things input in a shorter time
█► All other features with combos (or automated input sequences) have the "Input Interval" and "Dynamic VM Timing" to
█ ensure you get faster combos with no added "input delay" (aka normally running at 100hz or 10ms intervals,
█ currently always ensures a 125hz/8ms or 250hz/4ms polling rate regardless of input interval used)
█████████████████████████████████████████████████████████████████████████████████████████████████──
███ Menu ████████████████████████████████████████████████████████████████████████████████████████─
█████████████████████████████████████████████████████████████████████████████████████████████████
█ █
█ Enter Menu ► Fully Hold 'ADS' & Press 'MENU' (default: LT/L2 & MENU/OPTIONS) █──
█ █─
█ Enter Next Menu ► Press A/CROSS (on an enterable selection) █
█ █──
█ Exit Current Menu ► Press B/CIRCLE █
█ █─
█ Close Menu ► Press 'MENU' (default: MENU/OPTIONS) (won't save to the memory) █
█ █
█ Close Menu (Save) ► Press X/SQUARE (values save to the memory) █
█ █─
█ Change Selected Option ► Press LEFT (previous) or Press RIGHT (next) █──
█ █
█ Change Selected Value ► Press UP (increase) or Press DOWN (decrease) █─
█ █
█████████████████████████████████████████████████████████████████████████████████████████████████
███ Quick Toggles (outside menu) ████████████████████████████████████████████████████████████████─
█████████████████████████████████████████████████████████████████████████████████████████████████
█ █
█ Disable Turbo features ► Hold 'UNUSED' (Default: DOWN) (active while holding) █──
█ █─
█ * Check menu for others * █
█ █─
█████████████████████████████████████████████████████████████████████████████████████████████████
Congrats, you now know the basics to get started, have fun! 😜
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
In-Depth Notes:
█► Pickup Cancel
█ With this feature on you may have issues with hold interacting on things, you should not use this feature in modes
█ that you need to hold to interact in or if you intend on using them while you play (e.g bomb defuser)
█
█► Swap Cancel
█ This feature won't benefit weapons that are brought out faster than cancelling the animation would be
█ For this feature, I recommend both weapons being around the same time to swap to as you will need to use a speed
█ for the slowest one
█
█► LED Brightness
█ I suggest you lower the brightness level of "Dual Shock 4 Light Bar Brightness" in the Device tab of Zen Studio so
█ you don't have to be blind by the Zen's LED (I use 25%), otherwise you can change it further through the menu just
█ for this script
█
█► Defaults
█ The features selected below under this large comment are what will be enabled or disabled by default, you can
█ change them there if you wish, otherwise you can change them later through the menu on the Zen's Screen which
█ will be saved to the memory for later use
█
█► > 60fps
█ Mainly if on PC and you understand this then be sure to adjust in the menu (under 'Hair Triggers') to whatever
█ your max frametime is plus one (e.g (1000ms/100fps) = 10ms, rounded up to even), your frame time or frame rate
█ should not drop past this number ever or 99% of the time, mainly intended to be changed for higher framerates
█ for faster completion of automated input sequences, just keep in mind you should expect it to be a little lower
█ than your average down to the worse performance for 1% of the time
█ Important: If you experience missed inputs from combos (automated inputs) you should increase this number until
█ it stops missing them (like keeping it at 20ms)
█
█► Cold War
█ Boosted Auto Sprint is ~3.5% faster than normal sprinting, however I haven't tested in normal gameplay if it still
█ has as much of a worthy benefit or if it can be better (might be more of an annoyance than useful)
Donate:
█ Feel free to support me if you enjoy the script, i've put around a thousand hours into making this script to
█ the best of my ability all for free. For those that do, it helps motivate me to keep putting more time into
█ finishing and making more unique scripts in the future, plus it just makes my day 😊
█ https://www.buymeacoffee.com/Fadexz (note: sent internationally)
█ https://revolut.me/Fadexz
█ https://paypal.me/Fadexz
*/ int __WARNINGS__ARE__INTENDED__do_not_sell_my_sht__developed_by_fadexz__
= CPU_USAGE + 1; /*
Additonal Notes:
█ This script will eventually come to a "complete" state with time, so expect slow but constant updates 😎
█ Please report any issues or suggestions to me, I rarely get any but it would help me improve the
█ script with things I couldn't think of!
Contact me:
█ https://discord.com/users/291872132898619392 (fadexz)
█ https://forums.cronusmax.com/members/fadexz.356349
Additional Credits:
█ DoNotAtMe ('Me.') ⫸ "Slowdown" Aim Assist Abuse
█ Swizzy ⫸ Bit-packed SPVARs
█ Taylordrift21 ⫸ Rumble-based Anti-Recoil
To Do List (for me):
█ Dropshot - Stand on release of ADS option + no ADS option
█ Slot change option
█ Block all output in menu option
█ Ez Equipment Cancel??
█ Ballistic Curve
█ Vibration + LED menu only options FX Toggle
█ Ez Cook Frag - Cancel (Throw | Swap)
█ Akimbo Rapid Fire
█ Burst Fire (modify rapid fire??)
█ Strafe AA
█ Mouse & Keyboard Menu Support
█ Anti-AFK Kick
█ Mod record time mode ("special" menu??)
█ Auto Sprint for Sprint Cancels Reload
█ Diamond and Star Shape "Slowdown Aim Assist Abuse"
█ Loadouts/Profiles + Weapon Pickup Mode
█ Weapon Detection (Adaptive Triggers)
█ Stance Detection (help from Adaptive Triggers)
█ Improved Anti-Recoil
█ - Once these items are done I finally move onto other scripts :D -
█
█ Issues:
█ Fix for slot change input type block for Crossover Mapping Fix
█ Fix slide cancel to allow dolpine dive (in MWIII)
█ Fix for 10ms polling - Actual Controller Polling Rate Detection
█ Fix brightness on battery status breathing level change
█ Rapid Fire - ADS & Lethal option does not count as firing for other features (similar issue with Auto Aim and maybe others)
█ Swap out PS5 MUTE input broken function by using `get_ival()` only to check for press
█ Max CPU Usage when loading the menus
█ Bytecode size needs to be optimised (mostly for image frames)
█ Quick Toggle Inputs are not mapped to be corrected for different layouts
*/
// -- Declear constants
define
// -- Note: Please ignore
Signed_2_Bit_Min = -1 << 1,
Signed_3_Bit_Min = -1 << 2,
Signed_4_Bit_Min = -1 << 3,
Signed_5_Bit_Min = -1 << 4,
Signed_6_Bit_Min = -1 << 5,
Signed_7_Bit_Min = -1 << 6,
Signed_8_Bit_Min = -1 << 7,
Signed_9_Bit_Min = -1 << 8,
Signed_10_Bit_Min = -1 << 9,
Signed_11_Bit_Min = -1 << 10,
Signed_12_Bit_Min = -1 << 11,
Signed_13_Bit_Min = -1 << 12,
Signed_14_Bit_Min = -1 << 13,
Signed_15_Bit_Min = -1 << 14,
Signed_16_Bit_Min = -1 << 15,
Signed_17_Bit_Min = -1 << 16,
Signed_18_Bit_Min = -1 << 17,
Signed_19_Bit_Min = -1 << 18,
Signed_20_Bit_Min = -1 << 19,
Signed_21_Bit_Min = -1 << 20,
Signed_22_Bit_Min = -1 << 21,
Signed_23_Bit_Min = -1 << 22,
Signed_24_Bit_Min = -1 << 23,
Signed_25_Bit_Min = -1 << 24,
Signed_26_Bit_Min = -1 << 25,
Signed_27_Bit_Min = -1 << 26,
Signed_28_Bit_Min = -1 << 27,
Signed_29_Bit_Min = -1 << 28,
Signed_30_Bit_Min = -1 << 29,
Signed_31_Bit_Min = -1 << 30,
Signed_32_Bit_Min = -1 << 31,
Signed_2_Bit_Max = (1 << 1) - 1,
Signed_3_Bit_Max = (1 << 2) - 1,
Signed_4_Bit_Max = (1 << 3) - 1,
Signed_5_Bit_Max = (1 << 4) - 1,
Signed_6_Bit_Max = (1 << 5) - 1,
Signed_7_Bit_Max = (1 << 6) - 1,
Signed_8_Bit_Max = (1 << 7) - 1,
Signed_9_Bit_Max = (1 << 8) - 1,
Signed_10_Bit_Max = (1 << 9) - 1,
Signed_11_Bit_Max = (1 << 10) - 1,
Signed_12_Bit_Max = (1 << 11) - 1,
Signed_13_Bit_Max = (1 << 12) - 1,
Signed_14_Bit_Max = (1 << 13) - 1,
Signed_15_Bit_Max = (1 << 14) - 1,
Signed_16_Bit_Max = (1 << 15) - 1,
Signed_17_Bit_Max = (1 << 16) - 1,
Signed_18_Bit_Max = (1 << 17) - 1,
Signed_19_Bit_Max = (1 << 18) - 1,
Signed_20_Bit_Max = (1 << 19) - 1,
Signed_21_Bit_Max = (1 << 20) - 1,
Signed_22_Bit_Max = (1 << 21) - 1,
Signed_23_Bit_Max = (1 << 22) - 1,
Signed_24_Bit_Max = (1 << 23) - 1,
Signed_25_Bit_Max = (1 << 24) - 1,
Signed_26_Bit_Max = (1 << 25) - 1,
Signed_27_Bit_Max = (1 << 26) - 1,
Signed_28_Bit_Max = (1 << 27) - 1,
Signed_29_Bit_Max = (1 << 28) - 1,
Signed_30_Bit_Max = (1 << 29) - 1,
Signed_31_Bit_Max = (1 << 30) - 1,
Signed_32_Bit_Max = (1 << 31) - 1,
// -- Button toggle index constants
IL_LB = 0,
IL_RB = 1,
IL_LT = 2,
IL_RT = 3,
IL_LS = 4,
IL_RS = 5,
IL_UP = 6,
IL_DOWN = 7,
IL_LEFT = 8,
IL_RIGHT = 9,
IL_A = 10,
IL_B = 11,
IL_X = 12,
IL_Y = 13,
// -- Inactivity Timeout Inputs index constants
NSI_NONE = 0,
NSI_XBOX = 1,
NSI_VIEW = 2,
NSI_MENU = 3,
NSI_LB = 4,
NSI_RB = 5,
NSI_LT = 6,
NSI_RT = 7,
NSI_LS = 8,
NSI_RS = 9,
NSI_UP = 10,
NSI_DOWN = 11,
NSI_LEFT = 12,
NSI_RIGHT = 13,
NSI_A = 14,
NSI_B = 15,
NSI_X = 16,
NSI_Y = 17,
NSI_SYNC = 18,
NSI_PL1 = 19,
NSI_PL2 = 20,
NSI_PR1 = 21,
NSI_PR2 = 22,
// -- You can change any of the default values below IF you wish the script to start with these values before saving
// Anti-Recoil
AR_Vert_Value = 28,
AR_Hori_Value = 0,
AR_Deadzone = 13,
AR_Rumble_Influence = FALSE,
AR_Reduced_Rumble = TRUE,
AR_Boost_Time = 160,
AR_Quick_Toggle = FALSE,
AR_Hold_Quick_Toggle = NSI_LT,
AR_Press_Quick_Toggle = NSI_XBOX,
// Slowdown Aim Assist Abuse
// -- [ 0 = ADS & Fire | 1 = ADS or Fire | 2 = ADS | 3 = Fire | 4 = None ]
SAAA_Activation_Type = 1,
// -- Circle Radius ('strength')
SAAA_Radius = 22,
// -- Circle Speed (amount of angles/values skipped through each "vm interval")
SAAA_Rotate_By_Angles = 20,
SAAA_Release_Point = 13,
SAAA_Quick_Toggle = FALSE,
SAAA_Hold_Quick_Toggle = NSI_LT,
SAAA_Press_Quick_Toggle = NSI_VIEW,
// Reload Cancel
// -- [ 0 = On Fire | 1 = On ADS or Fire ]
RC_Release_Activation_Type = 0,
// -- Feel free to set this to ~6000ms for even LMGs, but can't guarantee it won't cause issues with shorter reloads (at most, should be a quick YY before ADS or shooting)
RC_Max_Reload_Time_For_Cancel = 3500,
RC_Quick_Toggle = FALSE,
RC_Hold_Quick_Toggle = NSI_LT,
RC_Press_Quick_Toggle = NSI_MENU,
// Auto Reload
// -- [ 0 = On Release Fire | 1 = On Release Fire or ADS ]
AR2_Release_Activation_Type = 1,
AR2_Shoot_Time = 0,
AR2_Quick_Toggle = FALSE,
AR2_Hold_Quick_Toggle = NSI_LT,
AR2_Press_Quick_Toggle = NSI_LB,
// Jump Shot
// -- [ 0 = On Press (ADS) | 1 = On Press Fire (No ADS) | 2 = On Hold (ADS) | 3 = Panic (ADS & Fire) ]
JS_Activation_Type = 3,
// -- Max time between ADS and FIRE presses to activate
JS_Press_Variance_Time = 24,
JS_Quick_Toggle = FALSE,
JS_Hold_Quick_Toggle = NSI_LT,
JS_Press_Quick_Toggle = NSI_LS,
// Rapid Fire
// -- [ 0 = Tap | 1 = Hold (prime shot) ]
RF_Shot_Type = 1,
// -- [ 0 = On Fire | 1 = On ADS & Fire ]
RF_Activation_Type = 0,
RF_Shot_Wait_Time = 1,
RF_Single_Shot_Time = 100,
RF_Quick_Toggle = TRUE,
RF_Hold_Quick_Toggle = NSI_LT,
RF_Press_Quick_Toggle = NSI_RIGHT,
// Auto Focus
// -- [ 0 = Hold | 1 = Quick Gasp ]
AF_Type = 1,
AF_Quick_Toggle = FALSE,
AF_Hold_Quick_Toggle = NSI_LT,
AF_Press_Quick_Toggle = NSI_RS,
// Auto Ping
// -- Minimum time (seconds) of not firing for Auto Ping to activate
AP_Min_Release_Activation_Time = 18,
// -- [ 0 = Fully ADS | 1 = Holding ADS | 2 = Ignore ADS ]
AP_Activation_Type = 1,
AP_Unping_On_Release = FALSE,
AP_Quick_Toggle = FALSE,
AP_Hold_Quick_Toggle = NSI_LT,
AP_Press_Quick_Toggle = NSI_DOWN,
// Aim Assist Snap On Abuse
AASO_ADS_Hold_Time = 1490,
AASO_Quick_Toggle = FALSE,
AASO_Hold_Quick_Toggle = NSI_LT,
AASO_Press_Quick_Toggle = NSI_LEFT,
// Quick Scoper
// -- [ 0 = Fire | 1 = ADS & Lethal ]
QS_Activation_Type = 0,
QS_Quick_Toggle = FALSE,
QS_Hold_Quick_Toggle = NSI_LT,
QS_Press_Quick_Toggle = NSI_SYNC,
// Turbo Jump
TJ_Jump_Wait_Time = 1,
TJ_Quick_Toggle = FALSE,
TJ_Hold_Quick_Toggle = NSI_LB,
TJ_Press_Quick_Toggle = NSI_XBOX,
// Turbo Melee
TM_Quick_Toggle = FALSE,
TM_Hold_Quick_Toggle = NSI_LB,
TM_Press_Quick_Toggle = NSI_VIEW,
// Auto Sprint
// -- [ 0 = Turbo (Press Mode) | 1 = Hold (Hold Mode) | 2 = Press (Toggle/Press Mode) | 3 = BOCW Boosted (Press/Toggle Mode) ]
AS_Type = 0,
// -- Time to disable Auto Sprint after pressing 'STANCE_SLIDE_DIVE' button
AS_Crouch_Prone_Delay_Time = 1,
AS_Quick_Toggle = FALSE,
AS_Hold_Quick_Toggle = NSI_LB,
AS_Press_Quick_Toggle = NSI_MENU,
// Slide Cancel
// -- [ 0 = Legacy | 1 = Stand | 2 = 'Jump' (MWIII) | 3 = MWII ]
SC_Type = 2,
SC_Cancel_Delay_Time = 350,
SC_Quick_Toggle = FALSE,
SC_Hold_Quick_Toggle = NSI_LB,
SC_Press_Quick_Toggle = NSI_RB,
// Swap Cancel
SC2_Cancel_Delay_Time = 650,
SC2_Quick_Toggle = FALSE,
SC2_Hold_Quick_Toggle = NSI_LB,
SC2_Press_Quick_Toggle = NSI_LS,
// Pickup Cancel
PC_Quick_Toggle = FALSE,
PC_Hold_Quick_Toggle = NSI_LB,
PC_Press_Quick_Toggle = NSI_RS,
// Dropshot
// -- [ 0 = On Fire | 1 = Panic (ADS & Fire) ]
DS_Activation_Type = 1,
// -- Max time between ADS and FIRE presses to activate
DS_Press_Variance_Time = 120,
DS_Stand_On_Release = TRUE,
// -- [ 0 = Sprint (Fast) | 1 = Stand ]
DS_Stand_Type = 0,
DS_Quick_Toggle = FALSE,
DS_Hold_Quick_Toggle = NSI_LB,
DS_Press_Quick_Toggle = NSI_UP,
// Crouch Shot
// -- [ 0 = On ADS | 1 = On Fire | 2 = On ADS & Fire ]
CS_Activation_Type = 0,
CS_Loop = FALSE,
CS_Delay_Time = 200,
CS_Once_Release_Stand = TRUE,
CS_Quick_Toggle = FALSE,
CS_Hold_Quick_Toggle = NSI_LB,
CS_Press_Quick_Toggle = NSI_DOWN,
// Underbarrel Jitter (MWII)
UJ_Delay_Time = 0,
UJ_Quick_Toggle = FALSE,
UJ_Hold_Quick_Toggle = NSI_LB,
UJ_Press_Quick_Toggle = NSI_LEFT,
// Auto Aim
// -- [ 0 = ADS | 1 = Fully ADS ]
AA_Aiming_Type = 0,
AA_Quick_Toggle = FALSE,
AA_Hold_Quick_Toggle = NSI_LB,
AA_Press_Quick_Toggle = NSI_RIGHT,
// Auto Cook Frag
ACF_Cook_Time = 2300,
ACF_Quick_Toggle = FALSE,
ACF_Hold_Quick_Toggle = NSI_LB,
ACF_Press_Quick_Toggle = NSI_A,
// YY Cancel
// -- Delay until ready to cancel again (should be longer than the "Cancel Delay")
YYC_Wait_Delay = 100,
// -- Delay between YY inputs
YYC_Cancel_Delay = 1,
YYC_Quick_Toggle = FALSE,
YYC_Hold_Quick_Toggle = NSI_LB,
YYC_Press_Quick_Toggle = NSI_B,
// Hair Triggers
// -- [ 0 = Deadzone Compensation | 1 = Shift Start Point ]
HT_Shift_Type = 0,
HT_LT_Start_Point = 30,
HT_RT_Start_Point = 30,
HT_Quick_Toggle = FALSE,
HT_Hold_Quick_Toggle = NSI_LB,
HT_Press_Quick_Toggle = NSI_X,
// Custom Deadzone
CD_Deadzone = 13,
CD_Quick_Toggle = FALSE,
CD_Hold_Quick_Toggle = NSI_LB,
CD_Press_Quick_Toggle = NSI_Y,
// AS + SC + YYC - In-Game Settings
// -- [ 0 = Forward | 1 = Omni (any) ]
AS_SC_YYC_Sprint_Direction_Toggle = 0,
// Fully ADS Check
FAC_ADS_Time = 349,
// Humanise Inputs
// -- [ 0 = Off | 1 = ADS Only | 2 = All ]
HI_Randomise_Values = 2,
HI_Limit_Turbos = TRUE,
HI_Quick_Toggle = FALSE,
HI_Hold_Quick_Toggle = NSI_LB,
HI_Press_Quick_Toggle = NSI_SYNC,
// Display
// -- [ OLED_FONT_SMALL (0) | OLED_FONT_MEDIUM (1) | OLED_FONT_LARGE (2) ]
DP_Menu_Font_Size = OLED_FONT_MEDIUM,
// -- Scroll transition speed (apex = slowest - for longer text | base = fastest - for short text)
DP_Forward_Scroll_Apex_Time = 1700,
DP_Forward_Scroll_Base_Time = 120,
DP_Backward_Scroll_Apex_Time = 72,
DP_Backward_Scroll_Base_Time = 8,
DP_Start_Pause_Time = 880,
DP_End_Pause_Time = 700,
// -- [ 0 = None | 1 = Static | 2 = Dimmed Editable Highlight | 3 = Enterable Highlight ]
DP_Menu_Border = 1,
// -- [ 0 = None (black) | 1 = Lasers | 2 = Raindrops | 3 = 3D Wave (Detached) | 4 = Cat (Running) ]
DP_Screensaver_Type = 1,
DP_Always_On_Display = FALSE,
// -- Wouldn't recommend lower than '5' (secs) and higher than '180' (3 mins) to prevent screen burn-in
DP_Inactive_Time = 120,
// LED Config
// -- [ 0 = Cycling Hue | 1 = Breathing | 2 = Static | 3 = Battery Status ]
LC_Type = 0,
LC_Delay_Interval = 96,
// -- 0 = Red | 255 = Green | 510 = Blue (Max: 764)
LC_Hue = 530,
LC_Brightness = 180,
LC_FX_Brightness = 255,
LC_Menu_Brightness = 100,
LC_Saturation = 255,
LC_Light_Bar_LED_Matches_Zen_LED = FALSE,
LC_Quick_Toggle = FALSE,
LC_Hold_Quick_Toggle = NSI_RB,
LC_Press_Quick_Toggle = NSI_XBOX,
// Block Rumble
BR_Quick_Toggle = FALSE,
BR_Hold_Quick_Toggle = NSI_RB,
BR_Press_Quick_Toggle = NSI_VIEW,
// Inactivity Timeout
// -- [ 0 = Turn Off Controller | 1 = Unload Script | 2 = Turn Off Controller & Unload Script ]
IT_Turn_Off_Type = 0,
IT_Timeout_Time = 30,
IT_Quick_Toggle = FALSE,
IT_Hold_Quick_Toggle = NSI_RB,
IT_Press_Quick_Toggle = NSI_MENU,
// Fast Power Off
FPO_Required_Hold_Time = 2000,
FPO_Quick_Toggle = FALSE,
FPO_Hold_Quick_Toggle = NSI_RB,
FPO_Press_Quick_Toggle = NSI_LB,
// Adaptive Triggers Config (DualSense)
// -- [ 0 = Disabled (Off) | 1 = Pressure (CR) | 2 = Bow (SR) | 3 = Two Step (No Res 1) | 4 = Responsive (No Res 2) | 5 = Light Resistance (Has Res 1) | 6 = Frequency (Has Res 2) | 7 = Vibration (0x6) ] These modes will change how the various values are applied
AT_LT_Mode = 1,
AT_RT_Mode = 1,
AT_L2_Start = 0,
AT_R2_Start = 0,
AT_L2_Force_1 = 255,
AT_R2_Force_1 = 255,
AT_L2_Force_2 = 255,
AT_R2_Force_2 = 255,
AT_L2_Strength_Low = 0,
AT_R2_Strength_Low = 0,
AT_L2_Strength_Mid = 127,
AT_R2_Strength_Mid = 127,
AT_L2_Strength_High = 255,
AT_R2_Strength_High = 255,
AT_L2_Freq = 12,
AT_R2_Freq = 12,
AT_R2_Freq_Matches_Rapid_Fire = TRUE,
AT_Quick_Toggle = FALSE,
AT_Hold_Quick_Toggle = NSI_RB,
AT_Press_Quick_Toggle = NSI_LS,
// Auto Close Controller Update Prompt
ACCUP_Quick_Toggle = FALSE,
ACCUP_Hold_Quick_Toggle = NSI_RB,
ACCUP_Press_Quick_Toggle = NSI_RS,
// Prevent Native Passthrough Mode Fix
PDNPMF_Quick_Toggle = FALSE,
PDNPMF_Hold_Quick_Toggle = NSI_RB,
PDNPMF_Press_Quick_Toggle = NSI_UP,
// Crossover Fix
CF_Quick_Toggle = FALSE,
CF_Hold_Quick_Toggle = NSI_RB,
CF_Press_Quick_Toggle = NSI_DOWN,
// Input Interval
// -- Setting this correctly (mostly for PC) will result in faster input of combos (setting this up incorrectly can cause
// -- missed inputs from the script)
// -- Input Wait Interval Calculation Examples: (1000ms ÷ 60fps) = 18ms (rounded up to even) | (1000/120) = 10ms (rounded
// -- up to even)
// -- If you don't want to calculate, simply use '36' for 29+fps, '18' for 57+fps, '12' for 85+fps, '10' for 101+fps, or
// -- '8' for 126+fps (ensure the game fps is *always* above this minimum fps listed for inputs to not be missed)
// -- Note: 1ms vm time shouldn't be used otherwise it'll add 1ms to the end of combos (last "action" will be 2ms long)
// -- which will slightly slow them down (if the combo only has "two actions" it will take longer 1+1+(1-1)=3, 0 wait time
// -- rounds to 1 which results in the last/second action being repeated twice as long, check combos to understand)
// -- If you wish to use 1ms intervals through the menu then change 'II_Min_Runtime_Interval_Step' below to '1', this will
// -- mean the device will update every 1ms on odd numbers and could be more unstable with higher CPU Usage but this is
// -- done to not add "input delay" as 1 is the only number that is divisible (of 1, 2, 4, or 8)
// -- I personally use '18' for this, I play with 144fps however it is not 100% stable (> 125fps or < 8ms always) so I
// -- need above 100fps (aka < 10ms frame times) at all times, it is a good idea to run an in-game benchmark to see your
// -- 1% low frame rate which means 99% of the time it is higher than this value and is a stable low point which means
// -- very consistent input and very unlikely for the game to drop inputs if a frame takes long to display
// -- Note: Changing this could mess up the initial value rounding to this interval
II_Input_Interval = 20,
// -- (ADVANCED!) [ 0 = 1ms | 1 = 2ms | 2 = 4ms | 3 = 8ms ] Minimum allowed and step value used for input interval, changing this may in some cases affect CPU usage (do not recommend changing)
II_Min_Runtime_Interval_Step = 1,
// -- You can find extra settings here IF you need to change which are not in the menu
// Required Hold Time
// -- Minimum standard time that is counted as a hold in-game, for feature activations
HT_Min_Standard_Game_Hold_Time = 450,
HT_Min_Short_Game_Hold_Time = 150,
// Display
// -- Total entities on title screen (changes amount of variables used)
DP_Total_Screensaver_Entities = 10,
// -- Note: IF YOU GET AN ERROR HERE THEN YOU LIKELY ENABLED THE "LEGACY 16BIT COMPILER", DISABLE THIS IN THE DEVICE TAB (don't ever enable this option unless you have a specific reason to)
// -- < 1023ms or > 32767ms not recommended (Default: 16383 (Signed 15 Bit Max Value), changing bit size will divide or multiply by 2
DP_Max_Large_Time_Based_Value = Signed_15_Bit_Max,
// -- < 511ms or > 16383ms not recommended (Default: 2047 (Signed 12 Bit Max Value), changing bit size will divide or multiply by 2
DP_Max_Small_Time_Based_Value = Signed_12_Bit_Max,
// -- Vibration and LED effect activation time
DP_FX_Time = 100,
// -- (ADVANCED!) Should be the length of the longest value string to not overflow into variables after (e.g ' __ ms (__._/sec ____/min) ' is 27 characters long)
DP_Longest_Length_For_ASCII_Array_Buffer = 27,
// Input Layout
// -- Note: When changing these make sure to keep them the same format (only Xbox One inputs)
// -- Inputs: LB, RB, LT, RT, LS, RS, UP, DOWN, LEFT, RIGHT, A, B, X, Y
IL_Tactical_Input = IL_LB,
IL_Lethal_Input = IL_RB,
IL_ADS_Input = IL_LT,
IL_Fire_Input = IL_RT,
IL_Sprint_Focus_Input = IL_LS,
IL_Melee_Input = IL_RS,
IL_Ping_Input = IL_UP,
IL_Streak_Input = IL_RIGHT,
IL_Jump_Mantle_Input = IL_A,
IL_Stance_Slide_Dive_Input = IL_B,
IL_Reload_Interact_Input = IL_X,
IL_Swap_Armor_Input = IL_Y,
// Game Button Layout
// -- Stick to Xbox One Button Identifiers (constants) for layout consistency and to not mess up the crossover support (some buttons are not actual equivalents in other layouts)
// -- You should mostly only change the stick axes here if needed
SCOREBOARD = XB1_VIEW,
MENU = XB1_MENU,
MOVEX = POLAR_LX,
MOVEY = POLAR_LY,
LOOKX = POLAR_RX,
LOOKY = POLAR_RY,
UNUSED = XB1_DOWN; // -- Used for temporarily disabling turbo features (hold to disable them to allow holding of those buttons)
// -- Declear integer variables
int
// -- Adjustable Values
mods[_Mods_Length_Idx_],
edit[_Edit_Length_Idx_],
// Fully ADS Check
fac_ads_timer,
// Anti-Recoil
ar_smart_rumble,
ar_strength,
ar_boost_timer,
// Auto Reload
ar2_shoot_timer,
// Slowdown Aim Assist Abuse
saaa_angle,
saaa_cos_angle,
saaa_sin_angle,
//saaa_current_magnitude,
//saaa_max_magnitude,
// Reload Cancel
rc_reloading,
rc_reloading_time,
rc_ar2_did_shoot_before_reload,
// Auto Sprint
as_sc_yyc_in_sprint_area,
// Slide Cancel
sc_stand_btn,
// Auto Ping
ap_can_unping,
// Dropshot
ds_did_dropshot,
// Crouch Shot
cs_crouched,
// YY Cancel
yyc_sprinting,
// Adaptive Triggers Config (DualSense)
at_adt_idx,
// Inactivity Timeout
it_inactivity_timeout_timer,
// LED Config
lc_adjusted_brightness = 255,
lc_hue,
lc_timer,
lc_range_count,
lc_fract_hue,
lc_brightness_no_saturation,
lc_interm_1,
lc_interm_2,
lc_alt_loop_toggle,
// Auto Close Controller Update Prompt (Xbox)
accup_last_get_controller,
accup_last_get_battery,
// Crossover Mapping Fix
cf_swap_xb1_share_sync,
// Button Mappings
input_layout[_Input_Layout_Length_Idx_],
il_input_layout_idx,
// Input Interval
ii_max_controller_polling_rate = 1,
ii_vm_cycle_time,
ii_calc_timing,
// Debug
d_highest_cpu_usage,
// Display
dp_int_to_string_buffer[DP_Longest_Length_For_ASCII_Array_Buffer],
dp_title = TRUE,
dp_screen_sleep_timer,
dp_display_slot_only,
dp_splash_step,
dp_splash_timer,
dp_display_menu,
dp_display_quick_toggle,
dp_menu,
dp_block_options,
dp_main_idx,
dp_mod_idx,
dp_edit_idx,
dp_edit_idx_step,
dp_val_str,
dp_digit_idx,
dp_digits,
dp_digits_val,
dp_digit_count,
dp_string_len,
dp_blackout_random,
dp_shift,
dp_screensaver_incementer,
dp_entity_x_pos[DP_Total_Screensaver_Entities],
dp_entity_y_pos[DP_Total_Screensaver_Entities],
dp_entity_speed[DP_Total_Screensaver_Entities],
dp_entity_length[DP_Total_Screensaver_Entities],
dp_entity_cooldown_timer[DP_Total_Screensaver_Entities],
dp_entity_idx,
dp_snake_length_x = 32, // -- Max: 32
dp_snake_length_y = 32, // -- Max: 32
dp_snake_x,
dp_snake_y,
dp_snake_segment,
dp_snake_refresh_timer,
dp_quick_toggle_timer,
dp_quick_toggle_border_toggle,
dp_title_display_interval,
dp_input_interval_fps,
dp_input_interval_fps_digit_idx,
dp_round_edit_idx,
dp_selected_string_idx[2],
dp_scroll_timer[2],
dp_scroll_pause_time[2],
dp_text_offset[2],
dp_char_idx,
dp_reverse_offset[2],
dp_text_display_length,
dp_text_size_y_offset,
dp_text_size_width,
dp_string_idx,
dp_cur_array_idx,
dp_cur_string_idx,
dp_string_start_idx[2],
dp_string_length[2],
dp_scroll[2],
dp_is_value,
// Persistent Variables
pv_current_bit,
pv_current_slot,
pv_current_value,
pv_temp,
pv_bits,
// -- Temp Variables (not to be used in functions)
_no_funct_layer_1_temp_,
_no_funct_layer_2_temp_;
// -- Initialise values
init {
// -- If any SPVAR contains a value then load from SPVARs
// -- Note: FIRST TIME THE VARIABLE IS BEING USED - NOT RESETTING
while(_no_funct_layer_1_temp_ < 64) {
if(get_pvar(SPVAR_1 + _no_funct_layer_1_temp_,Signed_32_Bit_Min,Signed_32_Bit_Max,0)) {
reset_spvar();
// -- Load Mod Values (persistent memory)
// -- Note: FIRST TIME THE VARIABLE IS BEING USED - NOT RESETTING
while(_no_funct_layer_2_temp_ <= _Mods_End_Idx_) {
switch(_no_funct_layer_2_temp_) {
// -- Unused, skip
case IGS_InGame_Settings_Toggle_Idx {}
case DP_Display_Config_Toggle_Idx {}
case IL_Input_Layout_Toggle_Idx {}
case II_Input_Interval_Toggle_Idx {}
case DF_Dono_Fadexz_Toggle_Idx {}
case D_Debug_Toggle_Idx {
break;
}
default { mods[_no_funct_layer_2_temp_] = read_spvar(FALSE,TRUE); }
}
_no_funct_layer_2_temp_ ++;
}
// -- Load Edit Values (persistent memory)
for(_no_funct_layer_2_temp_ = 0; _no_funct_layer_2_temp_ <= _Edit_End_Idx_; _no_funct_layer_2_temp_ ++) {
if(_no_funct_layer_2_temp_ != RC_Cancel_Method_Edit_Toggle_Idx) // -- Unused for now, skip
edit[_no_funct_layer_2_temp_] = read_spvar(Edit_Value_Range[_no_funct_layer_2_temp_][0],Edit_Value_Range[_no_funct_layer_2_temp_][1]);
}
dp_display_slot_only = TRUE;
dp_splash_step = 4;
// -- [DEBUG] SPVARs used
//set_val(TRACE_4,((pv_current_slot - SPVAR_1) * 32) + pv_current_bit); // -- Bits used (total: 2048)
set_val(TRACE_5,(pv_current_slot - SPVAR_1) + (pv_current_bit > 0)); // -- Slots used (total: 64)
set_val(TRACE_6,pv_current_bit); // -- Last slot bits used (total: 32)
break;
}
_no_funct_layer_1_temp_ ++;
}
// -- If it made it to the end (nothing saved / first load)
if(_no_funct_layer_1_temp_ >= 64) {
// -- ****************************************************************************************************************
// -- *** Initial enabled mods (only uncomment these (remove '//') if you want these mods to be initially enabled) ***
// -- ****************************************************************************************************************
//mods[AR_Anti_Recoil_Toggle_Idx] = TRUE;
//mods[SAAA_Slowdown_Aim_Assist_Abuse_Toggle_Idx] = TRUE;
mods[RC_Reload_Cancel_Toggle_Idx] = TRUE;
//mods[AR2_Auto_Reload_Toggle_Idx] = TRUE;
//mods[JS_Jump_Shot_Toggle_Idx] = TRUE;
//mods[RF_Rapid_Fire_Toggle_Idx] = TRUE;
//mods[AF_Auto_Focus_Toggle_Idx] = TRUE;
//mods[AP_Auto_Ping_Toggle_Idx] = TRUE;
//mods[AASO_Aim_Assist_Snap_On_Abuse_Toggle_Idx] = TRUE;
//mods[QS_Quick_Scoper_Toggle_Idx] = TRUE;
mods[TJ_Turbo_Jump_Toggle_Idx] = TRUE;
mods[TM_Turbo_Melee_Toggle_Idx] = TRUE;
//mods[AS_Auto_Sprint_Toggle_Idx] = TRUE;
//mods[SC_Slide_Cancel_Toggle_Idx] = TRUE;
//mods[PAC_Pickup_Cancel_Toggle_Idx] = TRUE;
//mods[SC2_Swap_Cancel_Toggle_Idx] = TRUE;
//mods[DS_Dropshot_Toggle_Idx] = TRUE;
//mods[CS_Crouch_Shot_Toggle_Idx] = TRUE;
//mods[UJ_Underbarrel_Jitter_Toggle_Idx] = TRUE;
//mods[AA_Auto_Aim_Toggle_Idx] = TRUE;
//mods[ACF_Auto_Cook_Frag_Toggle_Idx] = TRUE;
//mods[YYC_YY_Cancel_Toggle_Idx] = TRUE;
//mods[HT_Hair_Triggers_Toggle_Idx] = TRUE;
//mods[CD_Custom_Deadzone_Toggle_Idx] = TRUE;
mods[HI_Humanise_Inputs_Toggle_Idx] = TRUE;
mods[LC_LED_Config_Toggle_Idx] = TRUE;
//mods[BR_Block_Rumble_Toggle_Idx] = TRUE;
//mods[IT_Inactivity_Timeout_Toggle_Idx] = TRUE;
//mods[FPO_Fast_Power_Off_Toggle_Idx] = TRUE;
//mods[AT_Adaptive_Triggers_Toggle_Idx] = TRUE;
mods[CF_Crossover_Fix_Toggle_Idx] = TRUE;
// -- Set initial edit values
for(_no_funct_layer_2_temp_ = 0; _no_funct_layer_2_temp_ <= _Edit_End_Idx_; _no_funct_layer_2_temp_ ++) {
edit[_no_funct_layer_2_temp_] = Edit_Value_Range[_no_funct_layer_2_temp_][2];
}
dp_splash_step = 4;
}
dp_tsp = TRUE;
// -- Update max polling rate for current controller
update_max_polling_rate();
// -- Get VM Interval Time for timing calculations
ii_vm_cycle_time = greatest_common_divisor_vm_timing();
// -- Set VM Interval Time
vm_tctrl(ii_vm_cycle_time - 10);
// -- Initialise values
apply_button_layout();
// -- Round initial time-based values
round_time_based_values();
// -- Turbos limit
limit_turbos_value();
// -- Start LED on output ("console") based hue
lc_hue = (LC_Output_Hue[get_console()] * 765) / 360;
// -- Note: This detects the mobile LED colour
if((get_console() == PIO_PS5 || get_console() == PIO_PS4) && get_led(LED_1) == 2 && get_led(LED_2) == 22 && get_led(LED_3) == 8 && !get_led(LED_4))
lc_hue = (30 * 765) / 360;
// -- Set a initial values for the screensaver entities
initialise_screensaver_entities();
// Block Rumble (Vibration)
if(mods[BR_Block_Rumble_Toggle_Idx]) {
reset_rumble();
block_rumble();
}
// Adaptive Triggers Config (DualSense)
apply_adaptive_triggers();
// Auto Close Controller Update Popup
accup_last_get_controller = get_controller();
accup_last_get_battery = get_battery();
// -- Note: For when blocking slot change input for Crossover Mapping Fix
//get_ctrlbutton()
}
main {
// Fast Power Off
if(mods[FPO_Fast_Power_Off_Toggle_Idx])
if(get_ival(XB1_XBOX) && abs(get_ptime(XB1_XBOX) - edit[FPO_Required_Hold_Time_Idx]) < get_rtime())
turn_off();
// -- Adjust for PS5/PS4 Controller Max Polling Rate (4ms/250hz)
// -- Note: Check if this can be removed (if it is impossible to connect a controller while the script is running)
update_max_polling_rate();
// Auto Close Controller Update Popup (Xbox)
if(mods[ACCUP_Auto_Close_Controller_Update_Popup_Xbox_Toggle_Idx]) {
if(!(accup_last_get_controller && accup_last_get_battery) && (get_controller() && get_battery()) && get_console() == PIO_XB1)
combo_run(Auto_Close_Controller_Update_Popup_Xbox);
accup_last_get_controller = get_controller();
accup_last_get_battery = get_battery();
}
// Debug
d_highest_cpu_usage = max(d_highest_cpu_usage,get_info(CPU_USAGE));
// Adaptive Triggers Config (DualSense)
// -- Note: Not done in function to help reduce CPU Load
// -- Note: Hacky method to reset or return input back to the game/host
if(!mods[AT_Adaptive_Triggers_Toggle_Idx]) {
/*
// -- Note: More CPU intensive
for(_no_funct_layer_1_temp_ = 0; _no_funct_layer_1_temp_ <= 15; _no_funct_layer_1_temp_ ++) {
set_adt(PS5_L2 - ((_no_funct_layer_1_temp_ % 2) * 3),(_no_funct_layer_1_temp_ / 2) + ((_no_funct_layer_1_temp_ >= 14) * 2),get_adt(PS5_L2 - ((_no_funct_layer_1_temp_ % 2) * 3),(_no_funct_layer_1_temp_ / 2) + ((_no_funct_layer_1_temp_ >= 14) * 2)));
}
*/
set_adt(PS5_L2,PS5_ADT_MODE ,get_adt(PS5_L2,PS5_ADT_MODE));
set_adt(PS5_R2,PS5_ADT_MODE ,get_adt(PS5_R2,PS5_ADT_MODE));
set_adt(PS5_L2,PS5_ADT_START ,get_adt(PS5_L2,PS5_ADT_START));
set_adt(PS5_R2,PS5_ADT_START ,get_adt(PS5_R2,PS5_ADT_START));
set_adt(PS5_L2,PS5_ADT_FORCE1 ,get_adt(PS5_L2,PS5_ADT_FORCE1));
set_adt(PS5_R2,PS5_ADT_FORCE1 ,get_adt(PS5_R2,PS5_ADT_FORCE1));
set_adt(PS5_L2,PS5_ADT_FORCE2 ,get_adt(PS5_L2,PS5_ADT_FORCE2));
set_adt(PS5_R2,PS5_ADT_FORCE2 ,get_adt(PS5_R2,PS5_ADT_FORCE2));
set_adt(PS5_L2,PS5_ADT_STRENGTH_LOW ,get_adt(PS5_L2,PS5_ADT_STRENGTH_LOW));
set_adt(PS5_R2,PS5_ADT_STRENGTH_LOW ,get_adt(PS5_R2,PS5_ADT_STRENGTH_LOW));
set_adt(PS5_L2,PS5_ADT_STRENGTH_MID ,get_adt(PS5_L2,PS5_ADT_STRENGTH_MID));
set_adt(PS5_R2,PS5_ADT_STRENGTH_MID ,get_adt(PS5_R2,PS5_ADT_STRENGTH_MID));
set_adt(PS5_L2,PS5_ADT_STRENGTH_HIGH,get_adt(PS5_L2,PS5_ADT_STRENGTH_HIGH));
set_adt(PS5_R2,PS5_ADT_STRENGTH_HIGH,get_adt(PS5_R2,PS5_ADT_STRENGTH_HIGH));
set_adt(PS5_L2,PS5_ADT_FREQ ,get_adt(PS5_L2,PS5_ADT_FREQ));
set_adt(PS5_R2,PS5_ADT_FREQ ,get_adt(PS5_R2,PS5_ADT_FREQ));
}
// Custom Deadzone
if(mods[CD_Custom_Deadzone_Toggle_Idx])
if(isqrt(pow(get_ival(LOOKX - 35),2) + pow(get_ival(LOOKY - 35),2)) < edit[CD_Deadzone_Idx]) {
set_val(LOOKX,0);
set_val(LOOKY,0);
}
// Display
if(dp_splash_step) {
dp_splash_timer -= get_rtime();
if(dp_splash_timer <= 0) {
switch(dp_splash_step) {
case 4 {