Advertisement
DraKiNs

[COD] Useful Macros

Jun 26th, 2011
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.48 KB | None | 0 0
  1. /*=============================================================================
  2. @ flipBits
  3. - Params: %0 - %1 (val1 and val2)
  4. - Note: Only execute xor between 2 val
  5. - Credits: DraKiNs
  6. //=============================================================================*/
  7.  
  8. #define flipBits(%0, %1)                ((%0)^(%1))
  9.  
  10. /*=============================================================================
  11. @ getColours
  12. - Params: %0 - %1 - %2 - %3 - %4 (hexcolor - r - g - b - a)
  13. - Note: Convert Hexadecimal Colour to RGBA
  14. - Credits: DraKiNs
  15. //=============================================================================*/
  16.  
  17. #define getColours(%0,%1,%2,%3,%4)      ((%1 = (%0 >> 24) & 0xFF),(%2 = (%0 >> 16) & 0xFF),(%3 = (%0 >> 8) & 0xFF),(%4 = (%0 & 0xFF)))
  18.  
  19.  
  20. /*=============================================================================
  21. @ setColours
  22. - Params: %0 - %1 - %2 - %3 - %4 (hexcolor - r - g - b - a)
  23. - Note: Convert RGBA Colour to Hexadecimal
  24. - Credits: DraKiNs
  25. //=============================================================================*/
  26.  
  27. #define setColours(%0,%1,%2,%3,%4)      ((%1 << 0x18)|(%2 << 0x10)|(%3 << 0x8)|(%4))
  28.  
  29. /*=============================================================================
  30. @ swap
  31. - Params: %0 - %1 (val1 - val2)
  32. - Note: Alternate value between 2 values
  33. - Credits: DraKiNs (wiki help)
  34. //=============================================================================*/
  35.  
  36. #define add_swap(%0,%1)                 ((%0 != %1) ? (%0 = (%0 + %1) ,%1 = (%0 - %1) ,%0 = (%0 - %1)) : (false))
  37. #define xor_swap(%0,%1)                 ((%0 != %1) ? (%0 ^= %1, %1 ^= %0, %0 ^= %1) : (false))
  38. #define x_swap(%0,%1)                   (%0 ^= %1, %1 ^= %0, %0 ^= %1)
  39. #define a_swap(%0,%1)                   (%0 = (%0 + %1) ,%1 = (%0 - %1) ,%0 = (%0 - %1))
  40.  
  41. /*=============================================================================
  42. @ foreach
  43. - Params: %0 - %1 (iter - array)
  44. - Note: Make circuit in Array (basic)
  45. - Credits: DraKiNs
  46. //=============================================================================*/
  47.  
  48. #define foreach(%0,%1)                  for(new %0,_%0; _%0 != sizeof %1; %0 = %1[_%0], ++_%0)
  49.  
  50. /*=============================================================================
  51. @ setEnum
  52. - Params: %0- %1 - %3 - %4 (array - enum - value)
  53. - Note: setAll enum for onlny one value (best method thans ilusion)
  54. - Credits: DraKiNs (thanks Y_less)
  55. //=============================================================================*/
  56.  
  57. #define setEnum(%0,%1 ,%3) { for(new i__ = 0; i__  < _: %1; ++i__ ) %0[%1:i__ ] = _:%3 }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement