Advertisement
BaSs_HaXoR

BO2 Button Monitoring Library SOURCE

Sep 24th, 2014
464
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 16.99 KB | None | 0 0
  1. //SOURCE: http://www.nextgenupdate.com/forums/call-duty-black-ops-2-modding-tools/747545-release-hitmanmodz-black-ops-2-button-monitoring-c-library-dll.html
  2.  
  3. /*
  4.      * °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  5.      * °°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°PwN3D°°°°°°°°°°
  6.  ____    __      __  __  __     __    ____      
  7. /\  _`\ /\ \  __/\ \/\ \/\ \  /'__`\ /\  _`\    
  8. \ \ \L\ \ \ \/\ \ \ \ \ `\\ \/\_\L\ \\ \ \/\ \  
  9.  \ \ ,__/\ \ \ \ \ \ \ \ , ` \/_/_\_<_\ \ \ \ \
  10.   \ \ \/  \ \ \_/ \_\ \ \ \`\ \/\ \L\ \\ \ \_\ \
  11.    \ \_\   \ `\___x___/\ \_\ \_\ \____/ \ \____/
  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. Yb        dP 8           w      .d88b.                       w  w          dP"Yb
  52.  Yb  db  dP  8d8b. .d88 w8ww    YPwww. .d88b .d8b 8   8 8d8b w w8ww Yb  dP "  d8
  53.   YbdPYbdP   8P Y8 8  8  8          d8 8.dP' 8    8b d8 8P   8  8    YbdP    dP  
  54.    YP  YP    8   8 `Y88  Y8P    `Y88P' `Y88P `Y8P `Y8P8 8    8  Y8P   dP     w  
  55.                                                                      dP        
  56.  
  57.  
  58.  
  59.  
  60.  *
  61.      *
  62.    ::: ::::::::  
  63.   :+: :+:    :+:
  64.  +:+         +:+
  65. +#+       +#++:  
  66.  +#+         +#+
  67.   #+# #+#    #+#
  68.    ### ########                               _           _   _                                                                      
  69.                                              | |         | | | |                                                                      
  70.  _   _ _ __   ___ _ __   ___ _ __ _   _ _ __ | |_ ___  __| | | |__   ___  ___ __ _ _   _ ___  ___  __      _____    ___ __ _ _ __ ___
  71. | | | | '_ \ / _ \ '_ \ / __| '__| | | | '_ \| __/ _ \/ _` | | '_ \ / _ \/ __/ _` | | | / __|/ _ \ \ \ /\ / / _ \  / __/ _` | '__/ _ \  
  72. | |_| | | | |  __/ | | | (__| |  | |_| | |_) | ||  __/ (_| | | |_) |  __/ (_| (_| | |_| \__ \  __/  \ V  V /  __/ | (_| (_| | | |  __/
  73.  \__,_|_| |_|\___|_| |_|\___|_|   \__, | .__/ \__\___|\__,_| |_.__/ \___|\___\__,_|\__,_|___/\___|   \_/\_/ \___|  \___\__,_|_|  \___|
  74.                                    __/ | |                                                                                            
  75.                                   |___/|_|                                                                                            
  76.    ::: ::::::::  
  77.   :+: :+:    :+:
  78.  +:+         +:+
  79. +#+       +#++:  
  80.  +#+         +#+
  81.   #+# #+#    #+#
  82.    ### ########
  83.          */
  84.  
  85. using ns2;
  86. using System;
  87. using System.Collections.Generic;
  88. namespace ButtonMonitoring
  89. {
  90.     public static class PS3Buttons
  91.     {
  92.         public static uint X;
  93.         public static uint Square;
  94.         public static uint Triangle;
  95.         public static uint Circle;
  96.         public static uint L1;
  97.         public static uint L2;
  98.         public static uint L3;
  99.         public static uint R1;
  100.         public static uint R2;
  101.         public static uint R3;
  102.         public static uint ToggleADS;
  103.         public static uint Crouch;
  104.         public static uint Prone;
  105.         public static uint Start;
  106.         public static uint Select;
  107.         public static uint Up;
  108.         public static uint Down;
  109.         public static uint Left;
  110.         public static uint Right;
  111.         public static string Layout;
  112.         public static bool Flipped;
  113.         public static List<uint> SpecialList;
  114.         private static bool bool_0;
  115.         public static void Init(bool isLocal = false, string layout = "Default", bool flipped = false)
  116.         {
  117.             PS3Buttons.bool_0 = isLocal;
  118.             PS3Buttons.ChangeLayout(layout, flipped);
  119.         }
  120.         public unsafe static void ChangeLayout(string layout = "Default", bool flipped = false)
  121.         {
  122.             void* ptr = stackalloc void[17 / sizeof(void)];
  123.             PS3Buttons.Layout = layout;
  124.             PS3Buttons.Flipped = flipped;
  125.             *(byte*)(ptr + 16 / sizeof(void)) = ((!PS3Buttons.bool_0) ? 1 : 0);
  126.             if (!(*(bool*)(ptr + 16 / sizeof(void))))
  127.             {
  128.                 PS3Buttons.X = 19u;
  129.                 PS3Buttons.Square = 51u;
  130.                 PS3Buttons.Triangle = 67u;
  131.                 PS3Buttons.Circle = 35u;
  132.                 PS3Buttons.L1 = 83u;
  133.                 PS3Buttons.L2 = 291u;
  134.                 PS3Buttons.L3 = 259u;
  135.                 PS3Buttons.R1 = 99u;
  136.                 PS3Buttons.R2 = 307u;
  137.                 PS3Buttons.R3 = 275u;
  138.                 PS3Buttons.Start = 227u;
  139.                 PS3Buttons.Select = 243u;
  140.                 PS3Buttons.Up = 323u;
  141.                 PS3Buttons.Down = 339u;
  142.                 PS3Buttons.Left = 355u;
  143.                 PS3Buttons.Right = 371u;
  144.             }
  145.             else
  146.             {
  147.                 PS3Buttons.X = 8192u;
  148.                 PS3Buttons.Square = 4u;
  149.                 PS3Buttons.Triangle = 134217728u;
  150.                 PS3Buttons.Circle = 33554432u;
  151.                 PS3Buttons.L1 = 2147487744u;
  152.                 PS3Buttons.L2 = 256u;
  153.                 PS3Buttons.L3 = 1088u;
  154.                 PS3Buttons.R1 = 128u;
  155.                 PS3Buttons.R2 = 512u;
  156.                 PS3Buttons.R3 = 32u;
  157.                 PS3Buttons.Crouch = 16384u;
  158.                 PS3Buttons.Prone = 32768u;
  159.                 PS3Buttons.Start = 0u;
  160.                 PS3Buttons.Select = 0u;
  161.                 PS3Buttons.Up = 1024u;
  162.                 PS3Buttons.Down = 512u;
  163.                 PS3Buttons.Left = 256u;
  164.                 PS3Buttons.Right = 8388608u;
  165.                 if (layout != null)
  166.                 {
  167.                     if (!(layout == "Default"))
  168.                     {
  169.                         if (!(layout == "Tactical"))
  170.                         {
  171.                             if (!(layout == "Lefty"))
  172.                             {
  173.                                 if (!(layout == "Nom4d"))
  174.                                 {
  175.                                     if (layout == "Charlie")
  176.                                     {
  177.                                         PS3Buttons.ToggleADS = 4096u;
  178.                                         *(byte*)(ptr + 16 / sizeof(void)) = ((!flipped) ? 1 : 0);
  179.                                         if (!(*(bool*)(ptr + 16 / sizeof(void))))
  180.                                         {
  181.                                             PS3Buttons.L1 = PS3Buttons.L2;
  182.                                             PS3Buttons.L2 = 131584u;
  183.                                             PS3Buttons.R1 = 2147483648u;
  184.                                             PS3Buttons.R2 = 1835136u;
  185.                                         }
  186.                                         else
  187.                                         {
  188.                                             PS3Buttons.L1 = 131584u;
  189.                                             PS3Buttons.R1 = 1835136u;
  190.                                             PS3Buttons.R2 = 2147483648u;
  191.                                         }
  192.                                     }
  193.                                 }
  194.                                 else
  195.                                 {
  196.                                     PS3Buttons.R3 = PS3Buttons.Circle;
  197.                                     PS3Buttons.Circle = 65568u;
  198.                                     PS3Buttons.ToggleADS = 4096u;
  199.                                     *(byte*)(ptr + 16 / sizeof(void)) = ((!flipped) ? 1 : 0);
  200.                                     if (!(*(bool*)(ptr + 16 / sizeof(void))))
  201.                                     {
  202.                                         PS3Buttons.R2 = PS3Buttons.R1;
  203.                                         PS3Buttons.L1 = 131328u;
  204.                                         PS3Buttons.L2 = 2147483648u;
  205.                                         PS3Buttons.R1 = 1835520u;
  206.                                     }
  207.                                     else
  208.                                     {
  209.                                         PS3Buttons.L1 = 2147483648u;
  210.                                         PS3Buttons.L2 = 131328u;
  211.                                         PS3Buttons.R2 = 1835520u;
  212.                                     }
  213.                                 }
  214.                             }
  215.                             else
  216.                             {
  217.                                 *(int*)(ptr + 8 / sizeof(void)) = (int)PS3Buttons.L3;
  218.                                 PS3Buttons.L3 = PS3Buttons.R3;
  219.                                 PS3Buttons.R3 = *(uint*)(ptr + 8 / sizeof(void));
  220.                                 *(byte*)(ptr + 16 / sizeof(void)) = ((!flipped) ? 1 : 0);
  221.                                 if (!(*(bool*)(ptr + 16 / sizeof(void))))
  222.                                 {
  223.                                     PS3Buttons.L1 = PS3Buttons.R2;
  224.                                     PS3Buttons.R1 = PS3Buttons.L2;
  225.                                     PS3Buttons.L2 = 131200u;
  226.                                     PS3Buttons.R2 = 2149322752u;
  227.                                 }
  228.                                 else
  229.                                 {
  230.                                     *(int*)(ptr + 12 / sizeof(void)) = (int)PS3Buttons.L2;
  231.                                     PS3Buttons.L2 = PS3Buttons.R2;
  232.                                     PS3Buttons.R2 = *(uint*)(ptr + 12 / sizeof(void));
  233.                                     PS3Buttons.L1 = 131200u;
  234.                                     PS3Buttons.R1 = 2149322752u;
  235.                                 }
  236.                             }
  237.                         }
  238.                         else
  239.                         {
  240.                             PS3Buttons.R3 = PS3Buttons.Circle;
  241.                             PS3Buttons.Circle = 65568u;
  242.                             *(byte*)(ptr + 16 / sizeof(void)) = ((!flipped) ? 1 : 0);
  243.                             if (!(*(bool*)(ptr + 16 / sizeof(void))))
  244.                             {
  245.                                 PS3Buttons.L1 = PS3Buttons.L2;
  246.                                 PS3Buttons.R1 = PS3Buttons.R2;
  247.                                 PS3Buttons.L2 = 2147618816u;
  248.                                 PS3Buttons.R2 = 1835136u;
  249.                             }
  250.                             else
  251.                             {
  252.                                 PS3Buttons.L1 = 2147618816u;
  253.                                 PS3Buttons.R1 = 1835136u;
  254.                             }
  255.                         }
  256.                     }
  257.                     else
  258.                     {
  259.                         *(byte*)(ptr + 16 / sizeof(void)) = ((!flipped) ? 1 : 0);
  260.                         if (!(*(bool*)(ptr + 16 / sizeof(void))))
  261.                         {
  262.                             *(int*)ptr = (int)PS3Buttons.L1;
  263.                             *(int*)(ptr + 4 / sizeof(void)) = (int)PS3Buttons.R1;
  264.                             PS3Buttons.L1 = PS3Buttons.L2;
  265.                             PS3Buttons.L2 = *(uint*)ptr;
  266.                             PS3Buttons.R1 = PS3Buttons.R2;
  267.                             PS3Buttons.R2 = *(uint*)(ptr + 4 / sizeof(void));
  268.                         }
  269.                     }
  270.                 }
  271.                 PS3Buttons.SpecialList = new List<uint>
  272.                 {
  273.                     PS3Buttons.X,
  274.                     PS3Buttons.Square,
  275.                     PS3Buttons.Triangle,
  276.                     PS3Buttons.Circle,
  277.                     PS3Buttons.L1,
  278.                     PS3Buttons.L2,
  279.                     PS3Buttons.L3,
  280.                     PS3Buttons.R1,
  281.                     PS3Buttons.R2,
  282.                     PS3Buttons.R3
  283.                 };
  284.             }
  285.         }
  286.         public unsafe static uint Get(string button)
  287.         {
  288.             void* ptr = stackalloc void[8 / sizeof(void)];
  289.             if (button != null)
  290.             {
  291.                 if (Class6.dictionary_0 == null)
  292.                 {
  293.                     Class6.dictionary_0 = new Dictionary<string, int>(19)
  294.                     {
  295.  
  296.                         {
  297.                             "X",
  298.                             0
  299.                         },
  300.  
  301.                         {
  302.                             "Square",
  303.                             1
  304.                         },
  305.  
  306.                         {
  307.                             "Triangle",
  308.                             2
  309.                         },
  310.  
  311.                         {
  312.                             "Circle",
  313.                             3
  314.                         },
  315.  
  316.                         {
  317.                             "L1",
  318.                             4
  319.                         },
  320.  
  321.                         {
  322.                             "L2",
  323.                             5
  324.                         },
  325.  
  326.                         {
  327.                             "L3",
  328.                             6
  329.                         },
  330.  
  331.                         {
  332.                             "R1",
  333.                             7
  334.                         },
  335.  
  336.                         {
  337.                             "R2",
  338.                             8
  339.                         },
  340.  
  341.                         {
  342.                             "R3",
  343.                             9
  344.                         },
  345.  
  346.                         {
  347.                             "ToggleADS",
  348.                             10
  349.                         },
  350.  
  351.                         {
  352.                             "Crouch",
  353.                             11
  354.                         },
  355.  
  356.                         {
  357.                             "Prone",
  358.                             12
  359.                         },
  360.  
  361.                         {
  362.                             "Start",
  363.                             13
  364.                         },
  365.  
  366.                         {
  367.                             "Select",
  368.                             14
  369.                         },
  370.  
  371.                         {
  372.                             "Up",
  373.                             15
  374.                         },
  375.  
  376.                         {
  377.                             "Down",
  378.                             16
  379.                         },
  380.  
  381.                         {
  382.                             "Left",
  383.                             17
  384.                         },
  385.  
  386.                         {
  387.                             "Right",
  388.                             18
  389.                         }
  390.                     };
  391.                 }
  392.                 if (Class6.dictionary_0.TryGetValue(button, out *(int*)(ptr + 4 / sizeof(void))))
  393.                 {
  394.                     switch (*(int*)(ptr + 4 / sizeof(void)))
  395.                     {
  396.                     case 0:
  397.                         *(int*)ptr = (int)PS3Buttons.X;
  398.                         goto IL_241;
  399.                     case 1:
  400.                         *(int*)ptr = (int)PS3Buttons.Square;
  401.                         goto IL_241;
  402.                     case 2:
  403.                         *(int*)ptr = (int)PS3Buttons.Triangle;
  404.                         goto IL_241;
  405.                     case 3:
  406.                         *(int*)ptr = (int)PS3Buttons.Circle;
  407.                         goto IL_241;
  408.                     case 4:
  409.                         *(int*)ptr = (int)PS3Buttons.L1;
  410.                         goto IL_241;
  411.                     case 5:
  412.                         *(int*)ptr = (int)PS3Buttons.L2;
  413.                         goto IL_241;
  414.                     case 6:
  415.                         *(int*)ptr = (int)PS3Buttons.L3;
  416.                         goto IL_241;
  417.                     case 7:
  418.                         *(int*)ptr = (int)PS3Buttons.R1;
  419.                         goto IL_241;
  420.                     case 8:
  421.                         *(int*)ptr = (int)PS3Buttons.R2;
  422.                         goto IL_241;
  423.                     case 9:
  424.                         *(int*)ptr = (int)PS3Buttons.R3;
  425.                         goto IL_241;
  426.                     case 10:
  427.                         *(int*)ptr = (int)PS3Buttons.ToggleADS;
  428.                         goto IL_241;
  429.                     case 11:
  430.                         *(int*)ptr = (int)PS3Buttons.Crouch;
  431.                         goto IL_241;
  432.                     case 12:
  433.                         *(int*)ptr = (int)PS3Buttons.Prone;
  434.                         goto IL_241;
  435.                     case 13:
  436.                         *(int*)ptr = (int)PS3Buttons.Start;
  437.                         goto IL_241;
  438.                     case 14:
  439.                         *(int*)ptr = (int)PS3Buttons.Select;
  440.                         goto IL_241;
  441.                     case 15:
  442.                         *(int*)ptr = (int)PS3Buttons.Up;
  443.                         goto IL_241;
  444.                     case 16:
  445.                         *(int*)ptr = (int)PS3Buttons.Down;
  446.                         goto IL_241;
  447.                     case 17:
  448.                         *(int*)ptr = (int)PS3Buttons.Left;
  449.                         goto IL_241;
  450.                     case 18:
  451.                         *(int*)ptr = (int)PS3Buttons.Right;
  452.                         goto IL_241;
  453.                     }
  454.                 }
  455.             }
  456.             *(int*)ptr = 0;
  457.             IL_241:
  458.             return *(uint*)ptr;
  459.         }
  460.     }
  461. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement