This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| functions:packbytes [2017/03/19 15:36] – created korshun | functions:packbytes [2017/04/17 17:47] (current) – korshun | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== PackBytes ====== | ====== PackBytes ====== | ||
| {{tag> | {{tag> | ||
| - | '' | + | '' |
| ===== Description ===== | ===== Description ===== | ||
| - | Packs four bytes into one integer and returns the result. The bytes' values | + | Packs four bytes into one integer and returns the result. The bytes must be in the [0, 255] range. |
| - | The packed values can be retrieved using [[UnpackByte]]. | + | The packed values can be retrieved using [[UnpackByteX]]. |
| - | This functions can be used to pass more than 3 or 4 arguments to a script | + | <note tip> |
| + | It is intended to be used to pass more than 3 or 4 arguments to a script | ||
| + | |||
| + | You can also pack shorts (-32768 to 32767) using [[PackShorts]]. | ||
| + | |||
| + | If you need more extreme packing, you should code it yourself.</ | ||
| ===== Examples ===== | ===== Examples ===== | ||
| Line 21: | Line 26: | ||
| Passing a color to a script: | Passing a color to a script: | ||
| < | < | ||
| - | int color = PackBytes(255, | + | function void SomeFunction(void) |
| - | ACS_ExecuteAlways(somescript, | + | { |
| + | // red, green, blue, alpha | ||
| + | | ||
| + | ACS_ExecuteAlways(somescript, | ||
| + | } | ||
| + | |||
| + | script somescript (int x, int y, int color) | ||
| + | { | ||
| + | int r = UnpackByte1(color); | ||
| + | int g = UnpackByte2(color); | ||
| + | int b = UnpackByte3(color); | ||
| + | int a = UnpackByte4(color); | ||
| + | } | ||
| </ | </ | ||
| + | |||