Advertisement
fastman92

eArgumentStuff.h

Feb 14th, 2016
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.08 KB | None | 0 0
  1. // Author: fastman92
  2.  
  3. #pragma once
  4. #include "SCM_defs.h"
  5.  
  6. namespace SCM
  7. {
  8.     namespace ArgumentStuff
  9.     {
  10.         enum class eArgumentDataTypesFormat_GTA_III_VC_SA : BYTE
  11.         {
  12.             UNDEFINED,
  13.             END_OF_ARGUMENTS = UNDEFINED,
  14.  
  15.             STATIC_INT_32BITS,          // Static number: (Long) Integer  – 32 bits
  16.             GLOBAL_NUMBER_VARIABLE,     // Global 4-byte integer  /float variable multiplied by 4: (Short) Integer  – 16 bits
  17.             LOCAL_NUMBER_VARIABLE,      // Local variable:  (Short) Integer  – 16 bits
  18.             STATIC_INT_8BITS,           // Static number: (Char) Integer  – 8 bits
  19.             STATIC_INT_16BITS,          // Static number: (Short) Integer  – 16 bits
  20.             STATIC_FLOAT,               // Float IEEE 754 – 32 bits
  21.  
  22.             // Types below are only available in GTA SA
  23.             TYPES_INTRODUCED_IN_GTASA,
  24.  
  25.             // Number arrays
  26.             GLOBAL_NUMBER_ARRAY = TYPES_INTRODUCED_IN_GTASA,
  27.             LOCAL_NUMBER_ARRAY,
  28.  
  29.             STATIC_SHORT_STRING,
  30.             GLOBAL_SHORT_STRING_VARIABLE,
  31.             LOCAL_SHORT_STRING_VARIABLE,
  32.  
  33.             GLOBAL_SHORT_STRING_ARRAY,
  34.             LOCAL_SHORT_STRING_ARRAY,
  35.  
  36.             STATIC_PASCAL_STRING,
  37.             STATIC_LONG_STRING,
  38.             GLOBAL_LONG_STRING_VARIABLE,
  39.             LOCAL_LONG_STRING_VARIABLE,
  40.  
  41.             GLOBAL_LONG_STRING_ARRAY,
  42.             LOCAL_LONG_STRING_ARRAY
  43.         };
  44.  
  45.         enum class eArgumentDataTypesFormat_GTA_LCS_VCS : BYTE
  46.         {
  47.             UNDEFINED,
  48.             END_OF_ARGUMENTS = UNDEFINED,
  49.  
  50.             STATIC_INT_ZERO,
  51.             STATIC_FLOAT_ZERO,
  52.  
  53.             STATIC_FLOAT_PACKED_POSITIVE_1_LAST_BYTE,
  54.             STATIC_FLOAT_PACKED_POSITIVE_2_LAST_BYTES,
  55.             STATIC_FLOAT_PACKED_POSITIVE_3_LAST_BYTES,
  56.  
  57.             STATIC_INT_32BITS,      // Static number: (Long) Integer  – 32 bits
  58.  
  59.             STATIC_INT_8BITS,           // Static number: (Char) Integer  – 8 bits
  60.  
  61.             STATIC_INT_16BITS,          // Static number: (Short) Integer  – 16 bits
  62.  
  63.             STATIC_FLOAT,               // Float IEEE 754 – 32 bits
  64.  
  65.             VCS_STATIC_C_STRING = 10,
  66.            
  67.             LCS_TIMER_RANGE_FIRST = 10,
  68.  
  69.             LCS_TIMER_RANGE_LAST,
  70.  
  71.             VCS_RANGE_FIRST = 11,
  72.  
  73.             VCS_RANGE_LAST = 12,
  74.  
  75.             // local variable
  76.             LCS_LOCAL_VARIABLE_RANGE_FIRST = 12,    // local variable 0@           
  77.             LCS_LOCAL_VARIABLE_RANGE_LAST = LCS_LOCAL_VARIABLE_RANGE_FIRST + 95,    // local variable 95@
  78.  
  79.             VCS_LOCAL_VARIABLE_RANGE_FIRST = 13,    // local variable 0@
  80.             VCS_LOCAL_VARIABLE_RANGE_LAST = VCS_LOCAL_VARIABLE_RANGE_FIRST + 95,
  81.  
  82.             // local variable + index:local variable
  83.             LCS_LOCAL_ARRAY_RANGE_FIRST = LCS_LOCAL_VARIABLE_RANGE_LAST + 1,        // local index with local index
  84.             LCS_LOCAL_ARRAY_RANGE_LAST = LCS_LOCAL_ARRAY_RANGE_FIRST + 95,
  85.  
  86.             VCS_LOCAL_ARRAY_RANGE_FIRST = VCS_LOCAL_VARIABLE_RANGE_LAST + 1,        // local index with local index
  87.             VCS_LOCAL_ARRAY_RANGE_LAST = VCS_LOCAL_ARRAY_RANGE_FIRST + 95,
  88.  
  89.             // global variable
  90.             LCS_GLOBAL_VARIABLE_RANGE_FIRST = 204,      // array multiplier = 0
  91.             LCS_GLOBAL_VARIABLE_RANGE_LAST = LCS_GLOBAL_VARIABLE_RANGE_FIRST + 25,      // array multiplier = 24
  92.  
  93.             VCS_GLOBAL_VARIABLE_RANGE_FIRST = 205,
  94.             VCS_GLOBAL_VARIABLE_RANGE_LAST = VCS_GLOBAL_VARIABLE_RANGE_FIRST + 24,
  95.  
  96.             // global variable + index:local variable
  97.             LCS_GLOBAL_ARRAY_RANGE_FIRST = 230,     // global index with local offset
  98.             LCS_GLOBAL_ARRAY_RANGE_LAST = LCS_GLOBAL_ARRAY_RANGE_FIRST + 25,            // global index with local offset
  99.  
  100.             VCS_GLOBAL_ARRAY_RANGE_FIRST = VCS_GLOBAL_VARIABLE_RANGE_LAST + 1,      // global index with local offset
  101.             VCS_GLOBAL_ARRAY_RANGE_LAST = VCS_GLOBAL_ARRAY_RANGE_FIRST + 24,            // global index with local offset
  102.         };
  103.         /*
  104.         // Prefix increment
  105.         inline eArgumentDataTypesFormat_GTA_LCS_VCS& operator+(eGameName& game)
  106.         {
  107.             game = static_cast<eGameName>(game + 1);
  108.             return game;
  109.         }*/
  110.  
  111.         /*
  112.  
  113.         enum class eArgumentDataTypesFormat_GTA_LCS_VCS : BYTE
  114.         {
  115.             UNDEFINED,
  116.             END_OF_ARGUMENTS = UNDEFINED,
  117.  
  118.             STATIC_INT_ZERO,
  119.             STATIC_FLOAT_ZERO,
  120.  
  121.             STATIC_FLOAT_PACKED_POSITIVE_1_LAST_BYTE,
  122.             STATIC_FLOAT_PACKED_POSITIVE_2_LAST_BYTES,
  123.             STATIC_FLOAT_PACKED_POSITIVE_3_LAST_BYTES,
  124.  
  125.             STATIC_INT_32BITS,      // Static number: (Long) Integer  – 32 bits
  126.  
  127.             STATIC_INT_8BITS,           // Static number: (Char) Integer  – 8 bits
  128.  
  129.             STATIC_INT_16BITS,          // Static number: (Short) Integer  – 16 bits
  130.  
  131.             STATIC_FLOAT,               // Float IEEE 754 – 32 bits
  132.  
  133.             STATIC_C_STRING,
  134.  
  135.             LOCAL_VARIABLE_TIMER_A,
  136.  
  137.             LOCAL_VARIABLE_RANGE_FIRST = LOCAL_VARIABLE_TIMER_A + 2,    // local variable 0@
  138.            
  139.             LOCAL_VARIABLE_RANGE_LAST = LOCAL_VARIABLE_RANGE_FIRST + 94,    // local variable 94@
  140.  
  141.             LOCAL_ARRAY_RANGE_FIRST,        // local index with local index
  142.             LOCAL_ARRAY_RANGE_LAST = LOCAL_ARRAY_RANGE_FIRST + 94,
  143.  
  144.             UNKNOWN_TYPE_202,
  145.  
  146.             GLOBAL_VARIABLE_RANGE_FIRST = 205,      // array multiplier = 0
  147.  
  148.             GLOBAL_VARIABLE_RANGE_LAST = GLOBAL_VARIABLE_RANGE_FIRST + 24,      // array multiplier = 24
  149.  
  150.             UNKNOWN_VARIABLE_TYPE_0xE5,
  151.  
  152.             GLOBAL_ARRAY_RANGE_FIRST,       // global index with local offset
  153.  
  154.             GLOBAL_ARRAY_RANGE_LAST = GLOBAL_ARRAY_RANGE_FIRST + 24,            // global index with local offset
  155.  
  156.             // UNKNOWN_ARRAY_TYPE_0xFF
  157.         };
  158.         */
  159.  
  160.         enum class eArgumentDataTypes_Universal
  161.         {
  162.             UNDEFINED,
  163.  
  164.             END_OF_ARGUMENTS,
  165.  
  166.             GLOBAL_NUMBER_VARIABLE,     // Global 4-byte integer  /float variable multiplied by 4: (Short) Integer  – 16 bits
  167.             LOCAL_NUMBER_VARIABLE,      // Local variable:  (Short) Integer  – 16 bits
  168.  
  169.             STATIC_INT_8BITS,           // Static number: (Char) Integer  – 8 bits
  170.             STATIC_INT_16BITS,          // Static number: (Short) Integer  – 16 bits
  171.             STATIC_INT_32BITS,          // Static number: (Long) Integer  – 32 bits
  172.  
  173.             STATIC_INT_ZERO,
  174.  
  175.             STATIC_FLOAT,               // Float IEEE 754 – 32 bits                      
  176.             STATIC_FLOAT_POSITIVE_PACKED_1_LAST_BYTE,
  177.             STATIC_FLOAT_POSITIVE_PACKED_2_LAST_BYTES,
  178.             STATIC_FLOAT_POSITIVE_PACKED_3_LAST_BYTES,
  179.             STATIC_FLOAT_ZERO,
  180.  
  181.             // Number arrays
  182.             GLOBAL_NUMBER_ARRAY,
  183.             LOCAL_NUMBER_ARRAY,
  184.  
  185.             // Types below are only available in GTA SA
  186.             TYPES_INTRODUCED_IN_GTASA,
  187.  
  188.             STATIC_SHORT_STRING = TYPES_INTRODUCED_IN_GTASA,
  189.             GLOBAL_SHORT_STRING_VARIABLE,
  190.             LOCAL_SHORT_STRING_VARIABLE,
  191.  
  192.             GLOBAL_SHORT_STRING_ARRAY,
  193.             LOCAL_SHORT_STRING_ARRAY,
  194.  
  195.             STATIC_PASCAL_STRING,
  196.             STATIC_C_STRING,
  197.             STATIC_LONG_STRING,
  198.             GLOBAL_LONG_STRING_VARIABLE,
  199.             LOCAL_LONG_STRING_VARIABLE,
  200.  
  201.             GLOBAL_LONG_STRING_ARRAY,
  202.             LOCAL_LONG_STRING_ARRAY
  203.         };
  204.     }
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement