Cleaned up the mess, at this time, only viable data get synced (_work directory for Gothic-data, miranda for mdc-scripts. Need to symlink files to a working directory.
67 lines
No EOL
1.3 KiB
D
67 lines
No EOL
1.3 KiB
D
const int phi = 1070141312; // PI/2
|
|
|
|
func int atan2f(var int x, var int y) {
|
|
const int call = 0;
|
|
var int ret;
|
|
if (Call_Begin(call)) {
|
|
CALL_FloatParam(_@(x));
|
|
CALL_FloatParam(_@(y));
|
|
CALL_RetValisFloat();
|
|
CALL_PutRetValTo(_@(ret));
|
|
CALL__cdecl(_atan2f);
|
|
|
|
call = CALL_End();
|
|
};
|
|
return +ret;
|
|
};
|
|
|
|
func int distance2Df(var int x1, var int x2, var int y1, var int y2) {
|
|
var int dx; dx = subf(x1, x2);
|
|
var int dy; dy = subf(y1, y2);
|
|
|
|
return +(sqrtf(addf(mulf(dx, dx), mulf(dy, dy))));
|
|
};
|
|
func int distance2D(var int x1, var int x2, var int y1, var int y2) {
|
|
return +roundf(distance2Df(mkf(x1), mkf(x2), mkf(y1), mkf(y2)));
|
|
};
|
|
|
|
func int sin(var int angle) {
|
|
const int call = 0;
|
|
var int ret;
|
|
if (Call_Begin(call)) {
|
|
CALL_FloatParam(_@(angle));
|
|
CALL_RetValisFloat();
|
|
CALL_PutRetValTo(_@(ret));
|
|
CALL__cdecl(_sinf);
|
|
|
|
call = CALL_End();
|
|
};
|
|
return +ret;
|
|
};
|
|
|
|
func int acos(var int cosine) {
|
|
const int call = 0;
|
|
var int ret;
|
|
if (Call_Begin(call)) {
|
|
CALL_FloatParam(_@(cosine));
|
|
CALL_RetValisFloat();
|
|
CALL_PutRetValTo(_@(ret));
|
|
CALL__cdecl(_acosf);
|
|
|
|
call = CALL_End();
|
|
};
|
|
return +ret;
|
|
};
|
|
|
|
func int asin(var int sine) {
|
|
return +subf(phi, acos(sine));
|
|
};
|
|
|
|
|
|
func int cos(var int angle) {
|
|
return +sin(subf(phi, angle));
|
|
};
|
|
|
|
func int tan(var int x) {
|
|
return +divf(sin(x), cos(x));
|
|
}; |