Код
#include "cj_types.j"
#include "cj_print.j"
library MovingTest {
define {
GetEnumUnit = GetEnumUnitHook;
GetWidgetX = GetWidgetXHook;
GetWidgetY = GetWidgetYHook;
GetUnitFacing = GetUnitFacingHook;
Sin = SinHook;
Cos = CosHook;
SetUnitX = SetUnitXHook;
SetUnitY = SetUnitYHook;
}
unit GetEnumUnitHook() {
unit u = GetEnum##Unit();
printf("* GetEnumUnit() -> %h", u);
return u;
}
real GetWidgetXHook(widget w) {
real r = GetWidget##X(w);
printf("* GetWidgetX(%h) -> %r", w, r);
return r;
}
real GetWidgetYHook(widget w) {
real r = GetWidget##Y(w);
printf("* GetWidgetY(%h) -> %r", w, r);
return r;
}
real GetUnitFacingHook(unit u) {
real r = GetUnit##Facing(u);
printf("* GetUnitFacing(%h) -> %r", u, r);
return r;
}
real SinHook(real x) {
real y = S##in(x);
printf("* Sin(%r) -> %r", x, y);
return y;
}
real CosHook(real x) {
real y = C##os(x);
printf("* Cos(%r) -> %r", x, y);
return y;
}
void SetUnitXHook(unit u, real x) {
printf("* SetUnitX(%h, %r)", u, x);
SetUnit##X(u, x);
}
void SetUnitYHook(unit u, real y) {
printf("* SetUnitY(%h, %r)", u, y);
SetUnit##Y(u, y);
}
}
Дебажные сообщения замени на "start" и "end", создай новый триггер, скопируй это в него (не в кастом код). Запусти версию с CS.