can you convert these .wdl code to .c code? Please help me..This is my code:


bmap DDT_smoke_bmap=<smoke.pcx>;

function DDT_smoke_effect();
function DDT_smoke_fade();

define _X_Vel,skill1;
define _Y_Vel,skill2;
define _Z_Vel,skill3;
define _Fade_Speed,skill4;
define _Size,skill5;
define _Start_Alpha,skill6;
define _X_Disp,skill7;
define _Y_Disp,skill8;
define _Z_Disp,skill9;
define _Amount,skill10;

var DDT_Smoke_Number;
var DDT_Smoke_Vel[3];

function DDT_smoke_effect() {

my.skill_x = my.vel_x % 1;
my.vel_x = my.vel_x - my.skill_x;
my.skill_x *= 10;
my.size = my.vel_y % 1;
my.vel_y = my.vel_y - my.size;
my.size *= 1000;
my.alpha = my.vel_z % 1;
my.vel_z = my.vel_z - my.alpha;
my.alpha *= 1000;
my.move = on;
my.bmap = DDT_smoke_bmap;
my.flare = on;


my.function = DDT_smoke_fade;
}

function DDT_smoke_fade() {
my.alpha-=my.skill_x*time;
if (my.alpha<=0) {
my.lifespan=0;
}
}

//
function main()
{
level_load("smoke.wmb");

}
action DDT_smokeFX {

if (my._Fade_Speed == 0) {my._Fade_Speed = 0.1;}
if (my._X_Disp == 0 && my._Y_Disp == 0 && my._Z_Disp == 0) {my._X_Disp = 16; my._Y_Disp = 16;}
if (my._X_Vel == 0 && my._Y_Vel == 0 && my._Z_Vel == 0) {my._Z_Vel = 3;}
if (my._Size == 0) {my._Size = 15;}
if (my._Start_Alpha == 0) {my._Start_Alpha = 10;}
if (my._Amount == 0) {my._Amount = 5;}


my._X_Vel -= my._X_Vel % 1;
my._Y_Vel -= my._Y_Vel % 1;
my._Z_Vel -= my._Z_Vel % 1;


if (my._Fade_Speed < 0) {my._Fade_Speed = 0;}
if (my._Fade_Speed >= 10) {my._Fade_Speed = 9.99;}
my._Fade_Speed -= my._Fade_Speed % 0.01;


if (my._Size < 0) {my._Size = 0;}
if (my._Size >= 1000) {my._Size = 999;}
my._Size -= my._Size % 1;


if (my._Start_Alpha < 0) {my._Start_Alpha = 0;}
if (my._Start_Alpha >= 100) {my._Start_Alpha = 100;}
my._Start_Alpha -= my._Start_Alpha % 1;


while (1) {
DDT_Smoke_Number = 0;
while (DDT_Smoke_Number <= (my._Amount * time)) {

temp.x = my.x + random(my._X_Disp * 2) - my._X_Disp;
temp.y = my.y + random(my._Y_Disp * 2) - my._Y_Disp;
temp.z = my.z + random(my._Z_Disp * 2) - my._Z_Disp;


DDT_Smoke_Vel.x = my._X_Vel;
DDT_Smoke_Vel.y = my._Y_Vel;
DDT_Smoke_Vel.z = my._Z_Vel;


DDT_Smoke_Vel.x += my._Fade_Speed / 10;
DDT_Smoke_Vel.y += my._Size / 1000;
DDT_Smoke_Vel.z += my._Start_Alpha / 1000;

effect(DDT_smoke_effect, 1, temp, DDT_Smoke_Vel);

DDT_Smoke_Number += 1;
}
wait(1);
}
}