Поиск по меткам: cJass, Алгоритм

Вращение юнита в 3D от Doc

Вращение юнита в 3D.
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
""
void RotateUnit(unit u, float X1, float Y1, float Z1, float A, float B, float C){
float a1, b1, a2, b2, a3, b3, X2, Y2, Z2

X2 = GetUnitX(u)
Y2 = GetUnitY(u)
Z2 =…
Алгоритмы, Наработки и Способности
8 4 088

Делим integer на три байта

Делим integer на три байта ! тоесть каждый от 0 до 255 с четвертым там могут быть проблемы со знаком, такчто пока лень проверять
cJass:
#define IntGetByte1(src) = (src / (256*256))
#define IntGetByte2(src) = (ModuloInteger(src, (256*256)) / 256)
#define IntGetByte3(src) = (ModuloInteger(src,256))
#define IntSetByte1(src,val) = { src = (ModuloInteger(src,(256*256)) + val*256*256 ) }
#define IntSetByte2(src,val) = { src = (ModuloInteger(src,256) + (src / (256*256))*256*256 + val*256) }
#define IntSetByte3(src,val) = { src = ((src / 256)*256 +val)}
позволяет хранить в 1 инте 3 коротких числа напр. цвет
P.S. спасибо Нетрату за это :) вобще тут не особо чего сложного на самом деле, но я забыл всю теорию)
Алгоритмы, Наработки и Способности
3 2 948
`
ОЖИДАНИЕ РЕКЛАМЫ...