Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by EternallyCurious. 04/18/24 10:45
StartWeek not working as it should
by Zheka. 04/18/24 10:11
folder management functions
by VoroneTZ. 04/17/24 06:52
lookback setting performance issue
by 7th_zorro. 04/16/24 03:08
zorro 64bit command line support
by 7th_zorro. 04/15/24 09:36
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:48
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:46
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (1 invisible), 672 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, howardR, 11honza11, ccorrea, sakolin
19047 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 5 of 8 1 2 3 4 5 6 7 8
Re: [REQ] converting a code to lite-c [Re: testDummy] #241091
12/14/08 13:14
12/14/08 13:14
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Thanks, I'll try it.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #241626
12/17/08 18:13
12/17/08 18:13
Joined: Oct 2004
Posts: 1,655
T
testDummy Offline
Serious User
testDummy  Offline
Serious User
T

Joined: Oct 2004
Posts: 1,655
Quoting Cowabanga.
Quote:
Thanks, I'll try it.

...and?
('We' cannot test it properly here without more data / samples.
At least for 'our' records, did the results seem better, or worse?)

Re: [REQ] converting a code to lite-c [Re: testDummy] #241822
12/19/08 06:46
12/19/08 06:46
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
I'll test it in 7.60 soon but because i have 7.07, it crashes every time when i to run the script.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #241921
12/20/08 01:17
12/20/08 01:17
Joined: Oct 2004
Posts: 1,655
T
testDummy Offline
Serious User
testDummy  Offline
Serious User
T

Joined: Oct 2004
Posts: 1,655
KHMovement D.Lancaster; EvilSOB
Lite-C 7.50
ver: min mod
player.c
Click to reveal..

Code:
#ifndef player_c
#define player_c
/////
//
//
#define nullframe	-2
#define blend		-1
#define stand		0
#define run			1
#define walk		2
#define jump		3
#define fall		4
#define attack_a	5
#define attack_b	6
#define attack_c	7
#define attack_d	8
#define attack_e	9
#define attack_f	10
//
#define move_x				skill22
#define move_y				skill23
#define move_z				skill24
#define force_x			skill25
#define force_y			skill26
#define force_z			skill27
#define velocity_x		skill28
#define velocity_y		skill29
#define velocity_z		skill30
#define animate			skill31
#define animate2			skill32
#define animblend			skill33
#define currentframe		skill34
#define blendframe		skill35
#define z_offset			skill50
#define jumping_mode		skill51
#define gravity			skill52
#define movement_mode	skill53
#define moving				skill54
#define hit_by_player	skill55
#define entity_type		skill56
//
//
function handle_animation(var animation_speed); 
function rotate_entity(var rotate_angle, var rotate_speed);
//
//
ENTITY* player_weapon;
ENTITY* target_enemy;
//
VECTOR* camera_move_to = { x=0;	y=0;	z=0; }
var camera_distance = 200;
var camera_pan;
var camera_tilt;
//
var space_press = 0;
var mouse_left_press = 0;
var mouse_right_press = 0;
var combo_continue = 0;
var player_lock_on = 0;
var airborne_attack = 0;
//
VECTOR* tempV = { x=0; 	 y=0; 	z=0; }
VECTOR* tempV2= { x=0; 	 y=0; 	z=0; }
ANGLE*  tempA = { pan=0; tilt=0; roll=0; }
ANGLE*  tempA2= { pan=0; tilt=0; roll=0; }
//
//
//
action attach_weapon()
{
	player_weapon = my;
	set(my,PASSABLE);
	proc_mode = PROC_LATE;
	while(you!=NULL) 
	{
		vec_for_vertex(tempV.x,  you, 1175);		//hand palm base
		vec_for_vertex(tempV2.x, you, 1240);		//hand palm tip
		vec_set(my.x, tempV.x);
		vec_diff(tempV.x, tempV2.x, tempV.x);
		vec_to_angle(tempA.pan, tempV.x);
		vec_set(my.pan, tempA.pan);
		wait(1);
	}
}
//
//

function handle_movement() 
{
	tempV.x = -1000;
	tempV.y = 0;
	my.moving = 0;
	if (key_w == 1 && key_s == 0 && key_a == 0 && key_d == 0) 	{ tempV.x = camera.pan; }
	if (key_s == 1 && key_w == 0 && key_a == 0 && key_d == 0) 	{ tempV.x = camera.pan + 180; }
	if (key_a == 1 && key_s == 0 && key_w == 0 && key_d == 0) 	{ tempV.x = camera.pan + 90; }
	if (key_d == 1 && key_s == 0 && key_a == 0 && key_w == 0) 	{ tempV.x = camera.pan - 90; }
	if (key_w == 1 && key_a == 1 && key_d == 0 && key_s == 0) 	{ tempV.x = camera.pan + 45; }
	if (key_w == 1 && key_d == 1 && key_a == 0 && key_s == 0) 	{ tempV.x = camera.pan - 45; }
	if (key_s == 1 && key_a == 1 && key_d == 0 && key_w == 0) 	{ tempV.x = camera.pan + 135; }
	if (key_s == 1 && key_d == 1 && key_a == 0 && key_w == 0) 	{ tempV.x = camera.pan - 135; }
	if (tempV.x != -1000) 
	{
		my.moving = 1;
		if (key_shift == 1)	{ tempV.y = 10 * time_step; } 
		else 						{ tempV.y = 15 * time_step; }
	}

	if (my.movement_mode == 0) 
	{
		my.move_x = fcos(tempV.x,tempV.y);
		my.move_y = fsin(tempV.x,tempV.y);
	}
	if (my.movement_mode == 1 || my.movement_mode == 2) 
	{
		tempV.y = fsin((my.animate * 1.2) + 45,15 * time_step);
		my.move_x = fcos(my.pan,tempV.y);
		my.move_y = fsin(my.pan,tempV.y);
		tempV.y = 0;
		if (tempV.x != -1000) 	tempV.y = 1;	//if we need to rotate whilst attacking (the player is pressing keys to rotate)
	}
	//
	c_move(my,nullvector,my.move_x, USE_AABB|IGNORE_PASSABLE|GLIDE);
	//
	//result = trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000));
	//if (result < 0)	{	my.z -= result;	my.velocity_z = 0;	}
	if (target_enemy == NULL) 
	{	
		if (tempV.y > 0) { rotate_entity(tempV.x,30); }		
	} 
	else 
	{
		vec_diff(tempV2.x,target_enemy.x,my.x);
		vec_to_angle(tempA2.pan,tempV2.x);
		rotate_entity(tempA2.pan,30);
	}
	//
	switch(my.movement_mode)
	{
 		case 0:		
			my.gravity = 6;
			if (my.move_x != 0 || my.move_y != 0) 		 //if we are moving
			{
				if (my.animblend == stand) //if our current animation is stand
				{ 
					if (key_shift == 1)	my.blendframe = walk; 
					else 						my.blendframe = run; 
				}
				if (my.animblend == run  && key_shift == 1)	my.blendframe = walk;
				if (my.animblend == walk && key_shift == 0)	my.blendframe = run; 
			} 
			else 
			{
				//if we arn't moving and our current animation is walk or run, blend and cycle the stand animation
				if (my.animblend > stand && my.animblend != jump && my.animblend != fall) 		my.blendframe = stand;
			}
			if (mouse_left == 0 && mouse_left_press == 1)	mouse_left_press = 0; 
			if (mouse_left == 1 && mouse_left_press == 0 && my.animblend >= stand) 
			{
				mouse_left_press = 1;
				my.blendframe = attack_a;
				if (my.jumping_mode == 1) 		airborne_attack = 1;
				else									airborne_attack = 0;
				my.movement_mode = 1;
				combo_continue = 0;
			}
			if (mouse_right == 0 && mouse_right_press == 1) 	mouse_right_press = 0;		///////////////
			if (mouse_right == 1 && mouse_right_press == 0) 
			{
				if (player_lock_on == 0) 
				{
					c_scan(player.x,player.pan,vector(360,180,250),SCAN_ENTS|SCAN_LIMIT|IGNORE_ME);
					if (you != NULL) 
					{
						if (you.entity_type == 2)  //make sure you've scanned an enemy
						{	player_lock_on = 1;		target_enemy = you;		}
					}
				} 
				else 
				{	player_lock_on = 0;		target_enemy = NULL;		}
				mouse_right_press = 1;
			}
			break;
 		case 1:		
			if (my.jumping_mode != 10) 									my.jumping_mode = 0;
			else if((my.animate >= 60)&&(my.animblend >= stand)) 	my.jumping_mode = 0; 
			if(mouse_left == 0 && mouse_left_press == 1) 			mouse_left_press = 0; 
			if(mouse_left == 1 && mouse_left_press == 0 && my.animate >= 30 && combo_continue == 0) 
			{	mouse_left_press = 1; 	combo_continue = 1; 	}
			break;
 		case 2:		
		my.jumping_mode = 0;
		if(mouse_left == 0 && mouse_left_press == 1)		mouse_left_press = 0;
		if(mouse_left == 1 && mouse_left_press == 0 && my.animate >= 30 && combo_continue == 0) 
		{		mouse_left_press = 1;		combo_continue = 1; 		}
		break;
	}
}
//
//
function handle_gravity() 
{
	result = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 120),IGNORE_ME|IGNORE_PASSABLE|USE_POLYGON);
	if(trace_hit == 0 && result == 0) { result = 120; }
	if(result<3) 
	{	
		//if(result<0)	result = c_trace(my.x,vector(my.x,my.y,my.z + 4000),IGNORE_ME|IGNORE_PASSABLE|USE_POLYGON);	//!!FUDGE!! stop skyjumping
		//
		if(my.jumping_mode==0) 
		{
			my.force_z = -1 * result;
			if((key_space==0) && (space_press==1))	space_press = 0; 
			if((key_space==1) && (space_press==0) && (my.movement_mode==0) && (my.animblend>=stand) && (my.animblend!=jump) 	&& (my.animblend!=fall)) 
			{
				space_press = 1;
				my.jumping_mode = 1;
				my.force_z = 25;
				my.blendframe = jump;
				my.animate2 = 0;
				my.animblend = blend;
			}
		}
		if((my.jumping_mode==2) || (my.jumping_mode==3))	my.jumping_mode = 0;
	} 
	else 
	{
		if(my.jumping_mode==2) 
		{
			if(result>120) 
			{
				my.animate = 60;
				my.jumping_mode = 3;
			} 
			else	my.jumping_mode = 0;
		}
		if((my.jumping_mode==3) && (result<=120))		my.jumping_mode = 0;	
		if((my.jumping_mode==0) && (my.movement_mode==0))
		{
			if((result>120) && (my.animblend>=stand) && (my.animblend!=jump) && (my.animblend!=fall)) 
			{
				my.jumping_mode = 3;
				my.blendframe = fall;
				my.animate2 = 0;
				my.animblend = blend;
			}
		}
		my.force_z -= my.gravity * time_step;
		my.force_z = maxv(-30,my.force_z);
		if(my.movement_mode==2)		my.force_z = 0;
	}
 	my.velocity_z += (time_step * my.force_z) - (minv(time_step*0.7,1) * my.velocity_z);
	my.move_z = my.velocity_z * time_step;
}
//
//
//////////////////////////////
//Stable/rigid camera collision
//////////////////////////////
function handle_camera() 
{
	camera.pan -= mouse_force.x * 12 * time_step;
	camera.tilt += mouse_force.y * 8 * time_step;
	camera.tilt = clamp(camera.tilt,-30,10);
	tempA.pan = fcos(camera.tilt,-camera_distance);
	vec_set(camera.x,vector(my.x + fcos(camera.pan,tempA.pan),my.y + fsin(camera.pan,tempA.pan),my.z + 20 + fsin(camera.tilt,-camera_distance)));
	vec_diff(tempV.x,camera.x,my.x); 	//find the vector from the player to the camera
	vec_normalize(tempV.x,16); 			//get the magnitude of it's vector to 16 quants and store it in temp
	vec_add(tempV.x,camera.x); //add the vector (from player to camera) of a magnitude of 16 quants and add it to the camera's position.
	result = c_trace(my.x,tempV.x,IGNORE_ME|IGNORE_PASSABLE|IGNORE_MODELS);
	if(result > 0) 
	{
		vec_diff(tempV.x,my.x,target.x); //find the vector from the point the trace hit to the player
		vec_normalize(tempV.x,16); 		//get the magnitude of this vector to 16 quants and store in temp
		vec_set(camera.x,target.x);		//place the camera at the trace hit point
		vec_add(camera.x,tempV.x);			//move the camera away from the wall by the vector temp, 16 quants towards the player
	}
}
//
//
//////////////////////////////
//Smoother camera collision
//////////////////////////////
/*
function handle_camera() {
	camera_pan -= mouse_force.x * 12 * time_step;
	camera_tilt += mouse_force.y * 8 * time_step;
	camera_tilt = clamp(camera_tilt,-30,10);
	camera.pan = camera_pan;
	tempA.pan = fcos(camera_tilt,-camera_distance);
	vec_set(camera_move_to.x,vector(my.x + fcos(camera.pan,tempA.pan),my.y + fsin(camera.pan,tempA.pan),my.z + 20 + fsin(camera_tilt,-camera_distance)));
	var temp = minv(1,0.5 * time_step); //changing 0.5 will change how fast the camera moves, at 1 places us at target, this value is what allows the smooth movement
	camera.x += temp*(camera_move_to.x - camera.x);
	camera.y += temp*(camera_move_to.y - camera.y);
	camera.z += temp*(camera_move_to.z - camera.z);
	vec_diff(tempV.x,camera.x,my.x);
	vec_normalize(tempV.x,16);
	vec_add(tempV.x,camera.x);
	if (c_trace(my.x,tempV.x,IGNORE_ME|IGNORE_PASSABLE|IGNORE_MODELS) > 0) {
		vec_diff(tempV.x,my.x,target.x);
		vec_normalize(tempV.x,16);
		vec_set(camera.x,target.x);
		vec_add(camera.x,tempV.x);
	}
	vec_diff(tempV.x,my.x,camera.x);
	vec_to_angle(camera.pan,tempV.x);
}
*/
//
//
function rotate_entity(var rotate_angle, var rotate_speed)
{
	if(my.pan == rotate_angle)			return;
	result = ang(rotate_angle - my.pan);
	if (result > 0)		my.pan += rotate_speed * time_step;
	if (result < 0)		my.pan -= rotate_speed * time_step; 
	if ((ang(rotate_angle - my.pan) < 0) && (result > 0))	my.pan = rotate_angle; 
	if ((ang(rotate_angle - my.pan) > 0) && (result < 0))	my.pan = rotate_angle; 
}
//
//
function handle_sword_collision()
{
	you = NULL;
	vec_for_vertex(tempV.x, player_weapon,274); //sword base
	vec_for_vertex(tempV2.x,player_weapon, 54); //sword tip
	result = c_trace(tempV.x,tempV2.x,IGNORE_ME|IGNORE_PASSABLE|USE_BOX);
	if (you != NULL) {
		if ((you.entity_type == 2) && (you.hit_by_player == 0))
		{
			if (airborne_attack == 1 && my.animblend == attack_a) 	my.movement_mode = 2;
			you.hit_by_player = 1;
			if (target_enemy == NULL)		{	target_enemy = you; 		player_lock_on = 1; 	}
		}
	}
}
//
//
action player_action()
{
	c_setminmax(me);					//added to correct ground collisions
	wait(1);								//added to correct ground collisions
	player = me;
	my.gravity = 6;
	my.z_offset = -my.min_z;		//was 6	//added to correct ground collisions
	set(my,SHADOW);
	ent_create("sword.mdl", my.x, attach_weapon);
	wait(1);
	while(1) 
	{ //the main loop
		handle_gravity();
		handle_movement();
		handle_animation(1);
		handle_camera();
		wait(1);
	}
}
//
//
/////
#endif


enemy.c
Click to reveal..

Code:
#ifndef enemy_c
#define enemy_c
/////
//
//
action enemy_dummy()
{
	set(my,SHADOW);
	my.entity_type = 2;
	my.emask |= ENABLE_SCAN;
	while(1) 
	{
		if(player!=NULL)
		{
			if(my.hit_by_player==1) 
			{
				my.move_x = player.move_x;
				my.move_y = player.move_y;
				my.move_z = player.move_z;
				c_move(my, nullvector, my.move_x, USE_AABB|IGNORE_PASSABLE|GLIDE);
				if((player.animblend==blend) || (player.animblend<attack_a) || (my.animblend>attack_f))		my.hit_by_player=0;
			}
			if((player.animblend>=stand) && (target_enemy==my) && (player_lock_on==0) && ((player.animblend<attack_a) || (player.animblend>attack_f)))
			{	target_enemy = NULL;	 }
			if((target_enemy==my)&&(vec_dist(my.x,player.x)>200))		target_enemy = NULL;
		}
		wait(1);
	}
}
//
//
/////
#endif


animation.c
Click to reveal..

Code:
#ifndef animation_c
#define animation_c
/////
//
//
function handle_animation(var animation_speed) 
{
	if(animation_speed <= 0) { animation_speed = 1; }
	if(my.animblend != blend && my.blendframe != nullframe) { my.animate2 = 0; my.animblend = blend; }
	if(my.animblend == blend) {
		if(my.currentframe == stand) { ent_animate(my,"stand",my.animate,ANM_CYCLE); }
		if(my.currentframe == run) { ent_animate(my,"run",my.animate,ANM_CYCLE); }
		if(my.currentframe == walk) { ent_animate(my,"walk",my.animate,ANM_CYCLE); }
		if(my.currentframe == jump) { ent_animate(my,"jump",my.animate,0); }
		if(my.currentframe == attack_a) { ent_animate(my,"attack_a",my.animate,0); }
		if(my.currentframe == attack_b) { ent_animate(my,"attack_b",my.animate,0); }
		if(my.currentframe == attack_c) { ent_animate(my,"attack_c",my.animate,0); }
		if(my.currentframe == attack_d) { ent_animate(my,"attack_d",my.animate,0); }
		if(my.currentframe == attack_e) { ent_animate(my,"attack_e",my.animate,0); }
		if(my.currentframe == attack_f) { ent_animate(my,"attack_f",my.animate,0); }
		if(my.blendframe == stand) { ent_blend("stand",0,my.animate2); }
		if(my.blendframe == run) { ent_blend("run",0,my.animate2); }
		if(my.blendframe == walk) { ent_blend("walk",0,my.animate2); }
		if(my.blendframe == jump) { ent_blend("jump",0,my.animate2); }
		if(my.blendframe == fall) { ent_blend("jump",60,my.animate2); }
		if(my.blendframe == attack_a) { ent_blend("attack_a",0,my.animate2); }
		if(my.blendframe == attack_b) { ent_blend("attack_b",0,my.animate2); }
		if(my.blendframe == attack_c) { ent_blend("attack_c",0,my.animate2); }
		if(my.blendframe == attack_d) { ent_blend("attack_d",0,my.animate2); }
		if(my.blendframe == attack_e) { ent_blend("attack_e",0,my.animate2); }
		if(my.blendframe == attack_f) { ent_blend("attack_f",0,my.animate2); }
		my.animate2 += 45 * time_step;
		if(my.animate2 >= 100) {
			my.animate = 0;
			my.animblend = my.blendframe;
			my.blendframe = nullframe;
		}
	}
	if(my.animblend == stand) {
		ent_animate(my,"stand",my.animate,ANM_CYCLE);
		my.animate += 5 * animation_speed * time_step;
		my.animate %= 100;
		my.currentframe = stand;
	}
	if(my.animblend == run) {
		ent_animate(my,"run",my.animate,ANM_CYCLE);
		my.animate += 8 * animation_speed * time_step;
		my.animate %= 100;
		my.currentframe = run;
	}
	if(my.animblend == walk) {
		ent_animate(my,"walk",my.animate,ANM_CYCLE);
		my.animate += 8 * animation_speed * time_step;
		my.animate %= 100;
		my.currentframe = walk;
	}
	if(my.animblend == jump || my.animblend == fall) {
		if(my.jumping_mode == 3) { my.animate = 60; }
		ent_animate(my,"jump",my.animate,0);
		my.animate += 10 * animation_speed * time_step;
		my.currentframe = jump;
		if(my.animate >= 60 && my.jumping_mode == 1) { my.jumping_mode = 2; }
		if(my.animate >= 100) {
			ent_animate(my,"jump",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
		}
	}
	if(my.animblend == attack_a) {
		ent_animate(my,"attack_a",my.animate,0);
		my.animate += 20 * animation_speed * time_step;
		my.currentframe = attack_a;
		if(my.animate >= 100) {
			ent_animate(my,"attack_a",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if(combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_b;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if(my.animblend == attack_b) {
		ent_animate(my,"attack_b",my.animate,0);
		my.animate += 15 * animation_speed * time_step;
		my.currentframe = attack_b;
		if(my.animate >= 100) {
			ent_animate(my,"attack_b",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if(combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_c;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if(my.animblend == attack_c) {
		ent_animate(my,"attack_c",my.animate,0);
		my.animate += 10 * animation_speed * time_step;
		my.currentframe = attack_c;
		if(my.animate >= 100) {
			ent_animate(my,"attack_c",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if(combo_continue == 1) {
				my.jumping_mode = 10;
				my.force_z = 12;
				my.gravity = 4;
				combo_continue = 0;
				my.blendframe = attack_d;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if(my.animblend == attack_d) {
		handle_sword_collision();
		ent_animate(my,"attack_d",my.animate,0);
		my.animate += 15 * animation_speed * time_step;
		my.currentframe = attack_d;
		if(my.animate >= 100) {
			ent_animate(my,"attack_d",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if(combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_e;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if(my.animblend == attack_e) {
		ent_animate(my,"attack_e",my.animate,0);
		my.animate += 15 * animation_speed * time_step;
		my.currentframe = attack_e;
		if(my.jumping_mode == 0 && my.animate >= 20 && my.animate < 60) {
			my.gravity = 3;
			my.jumping_mode = 10;
			my.force_z = 15;
		}
		if(my.animate >= 100) {
			ent_animate(my,"attack_e",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if(combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_f;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if(my.animblend == attack_f) {
		ent_animate(my,"attack_f",my.animate,0);
		my.animate += 6 * animation_speed * time_step;
		my.currentframe = attack_f;
		if(my.jumping_mode == 0 && my.animate >= 40 && my.animate < 60) {
			my.gravity = 6;
			my.jumping_mode = 10;
			my.force_z = 12;
		}
		if(my.animate >= 100) {
			my.movement_mode = 0;
			ent_animate(my,"attack_f",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if(my.moving == 1) {
				if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
		}
	}
	if(my.animblend >= attack_a && my.animblend <= attack_f) { handle_sword_collision(); }
	if(my.animblend != blend && my.blendframe != nullframe) { my.animate2 = 0; my.animblend = blend; }
}
//
//
/////
#endif


KHMovement D.Lancaster; EvilSOB
Lite-C 7.50
ver: partial dummification (isanely idiotic) mod high
player.c
Click to reveal..

Code:
#ifndef player_c
#define player_c
/////
//
//
#define nullframe	-2
#define blend		-1
#define stand		0
#define run			1
#define walk		2
#define jump		3
#define fall		4
#define attack_a	5
#define attack_b	6
#define attack_c	7
#define attack_d	8
#define attack_e	9
#define attack_f	10
TEXT* pl1_tAnim = {
	strings = 32;
	string = "stand";
	string = "run";
	string = "walk";
	string = "jump";
	string = "fall";
	string = "attack_a";
	string = "attack_b";
	string = "attack_c";
	string = "attack_d";
	string = "attack_e";
	string = "attack_f";

}
var pl1_aAnimMode[32];
var pl1_aAnimSp[32];


#define jmp0 0
#define jmp1 1
#define jmp2 2
#define jmp3 3
#define jmp10 10

#define mv0 0
#define mv1 1
#define mv2 2

//
#define _moveX				skill22
#define _moveY				skill23
#define _moveZ				skill24
#define force_x				skill25
#define force_y				skill26
#define force_z				skill27
#define velocity_x		skill28
#define velocity_y		skill29
#define velocity_z		skill30
#define _ani1				skill31
#define _ani2			skill32
#define _aniBlend			skill33
#define currentframe		skill34
#define blendframe		skill35
#define z_offset			skill50
#define _jmp					skill51
#define _gravity			skill52
#define _mv						skill53
#define _moving				skill54
#define hit_by_player	skill55
#define entity_type		skill56

#define _ht skill57


ENTITY* pl1_eWp1;
ENTITY* pl1_eTargetEnemy;
var pl1_nAirAttack = 0;
var pl1_nComboNext = 0;
var pl1_nLockOn = 0;


VECTOR* cam_vMoveTo = { x=0;	y=0;	z=0; }
var cam_nDist = 200;
var cam_nPan;
var cam_nTilt;
//
var in_space = 0;
var in_mouseL = 0;
var in_mouseR = 0;

//
VECTOR* v1 = { x=0; 	 y=0; 	z=0; }
VECTOR* v2= { x=0; 	 y=0; 	z=0; }
ANGLE*  angle1 = { pan=0; tilt=0; roll=0; }
ANGLE*  angle2= { pan=0; tilt=0; roll=0; }
//
//
var c_nResult = 0;
var c_nRotate = 2;
STRING* wp1_md1 = "sword.mdl";

function pl1f_anim(var animation_speed); 
function cf_rotate1(var _nAngle, var _nSp);
function cf_rotate2(var _angle, var _speed);


action wpa_1() {
	pl1_eWp1 = me;
	set(my,PASSABLE);
	proc_mode = PROC_LATE;
	while(you!=NULL) {
		vec_for_vertex(v1.x,  you, 1175);		//hand palm base
		vec_for_vertex(v2.x, you, 1240);		//hand palm tip
		vec_set(my.x, v1.x);
		vec_diff(v1.x, v2.x, v1.x);
		vec_to_angle(angle1.pan, v1.x);
		vec_set(my.pan, angle1.pan);
		wait(1);
	}
}

/******************************
	pl1f_animE
*******************************/
function pl1f_animE(var _index, STRING* _name, var _mode, var _speed) {
	str_cpy((pl1_tAnim.pstring)[_index], _name);
	pl1_aAnimMode[_index] = _mode;
	pl1_aAnimSp[_index] = _speed;
}
/******************************
	pl1f_animInit
*******************************/
function pl1f_animInit() {
	pl1f_animE(stand, "stand", ANM_CYCLE, 5);
	pl1f_animE(run, "run", ANM_CYCLE, 8);
	pl1f_animE(walk, "walk", ANM_CYCLE, 8);
	pl1f_animE(jump, "jump", 0, 10);
	//plf_animE(fall, "fall", 0, 
	pl1f_animE(attack_a, "attack_a", 0, 20);
	pl1f_animE(attack_b, "attack_b", 0, 15);
	pl1f_animE(attack_c, "attack_c", 0, 10);
	pl1f_animE(attack_d, "attack_d", 0, 15);
	pl1f_animE(attack_e, "attack_e", 0, 15);
	pl1f_animE(attack_f, "attack_f", 0, 6);
}
/******************************
	pl1f_move
*******************************/
function pl1f_move() {
	v1.x = -1000;
	v1.y = 0;
	my._moving = 0;
	if (key_w == 1 && key_s == 0 && key_a == 0 && key_d == 0) 	{ v1.x = camera.pan; }
	if (key_s == 1 && key_w == 0 && key_a == 0 && key_d == 0) 	{ v1.x = camera.pan + 180; }
	if (key_a == 1 && key_s == 0 && key_w == 0 && key_d == 0) 	{ v1.x = camera.pan + 90; }
	if (key_d == 1 && key_s == 0 && key_a == 0 && key_w == 0) 	{ v1.x = camera.pan - 90; }
	if (key_w == 1 && key_a == 1 && key_d == 0 && key_s == 0) 	{ v1.x = camera.pan + 45; }
	if (key_w == 1 && key_d == 1 && key_a == 0 && key_s == 0) 	{ v1.x = camera.pan - 45; }
	if (key_s == 1 && key_a == 1 && key_d == 0 && key_w == 0) 	{ v1.x = camera.pan + 135; }
	if (key_s == 1 && key_d == 1 && key_a == 0 && key_w == 0) 	{ v1.x = camera.pan - 135; }
	if (v1.x != -1000) {
		my._moving = 1;
		if (key_shift == 1)	{ 
			v1.y = 10 * time_step; 
		} else { 
			v1.y = 15 * time_step; 
		}
	}

	if (my._mv == mv0) {
		my._moveX = fcos(v1.x,v1.y);
		my._moveY = fsin(v1.x,v1.y);
	}
	if (my._mv == mv1 || my._mv == mv2) {
		v1.y = fsin((my._ani1 * 1.2) + 45,15 * time_step);
		my._moveX = fcos(my.pan,v1.y);
		my._moveY = fsin(my.pan,v1.y);
		v1.y = 0;
		if (v1.x != -1000) { v1.y = 1; }	//if we need to rotate whilst attacking (the player is pressing keys to rotate)
	}
	//
	c_move(me,nullvector,my._moveX, USE_AABB|IGNORE_PASSABLE|GLIDE);
	//
	//result = trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000));
	//if (result < 0)	{	my.z -= result;	my.velocity_z = 0;	}
	if (pl1_eTargetEnemy == NULL) {	
		if (v1.y > 0) { cf_rotate1(v1.x,30); }		
	} else {
		vec_diff(v2.x,pl1_eTargetEnemy.x,my.x);
		vec_to_angle(angle2.pan,v2.x);
		cf_rotate1(angle2.pan,30);
	}
	//
	switch(my._mv) {
 		case mv0:		
			my._gravity = 6;
			if (my._moveX != 0 || my._moveY != 0) { //if we are moving
				if (my._aniBlend == stand) {//if our current animation is stand
					if (key_shift == 1)	{ 
						my.blendframe = walk;
					} else { 
						my.blendframe = run;
					} 
				}
				if (my._aniBlend == run  && key_shift == 1)	{ my.blendframe = walk; }
				if (my._aniBlend == walk && key_shift == 0)	{ my.blendframe = run; } 
			} else {
				//if we arn't moving and our current animation is walk or run, blend and cycle the stand animation
				if (my._aniBlend > stand 
				&& my._aniBlend != jump 
				&& my._aniBlend != fall) {
					my.blendframe = stand;
				}
			}
			if (mouse_left == 0 && in_mouseL == 1)	{ in_mouseL = 0; } 
			if (mouse_left == 1 
			&& in_mouseL == 0 
			&& my._aniBlend >= stand) {
				in_mouseL = 1;
				my.blendframe = attack_a;						
				pl1_nAirAttack = (my._jmp == jmp1);
				my._mv = 1;
				pl1_nComboNext = 0;
			}
			if (mouse_right == 0 && in_mouseR == 1) { in_mouseR = 0; }
			if (mouse_right == 1 && in_mouseR == 0) {
				if (pl1_nLockOn == 0) {
					c_scan(player.x,player.pan,vector(360,180,250),SCAN_ENTS|SCAN_LIMIT|IGNORE_ME);
					if (you != NULL) {
						if (you.entity_type == 2)  {//make sure you've scanned an enemy
							pl1_nLockOn = 1;		
							pl1_eTargetEnemy = you;		
						}
					}
				} else {	
					pl1_nLockOn = 0;		pl1_eTargetEnemy = NULL;		
				}
				in_mouseR = 1;
			}
			break;
 		case mv1:		
			if (my._jmp != jmp10) { 
				my._jmp = jmp0; 
			} else if((my._ani1 >= 60)
			&&(my._aniBlend >= stand)) { 
				my._jmp = jmp0; 
			}
			if(mouse_left == 0 && in_mouseL == 1)  { in_mouseL = 0; }
			if(mouse_left == 1 
			&& in_mouseL == 0 
			&& my._ani1 >= 30 
			&& pl1_nComboNext == 0) {	
				in_mouseL = 1;
				pl1_nComboNext = 1; 	
			}
			break;
 		case mv2:		
			my._jmp = jmp0;
			if(mouse_left == 0 && in_mouseL == 1) { in_mouseL = 0; }
			if(mouse_left == 1 
			&& in_mouseL == 0 
			&& my._ani1 >= 30 
			&& pl1_nComboNext == 0) {
				in_mouseL = 1;
				pl1_nComboNext = 1; 		
			}
			break;
	}
}
/******************************
	pl1f_gravity
*******************************/
function pl1f_gravity() {
	//c_nResult = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 1000),IGNORE_ME|IGNORE_PASSABLE|USE_POLYGON);
	my._ht = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - (my.z_offset * 2)),IGNORE_ME|IGNORE_PASSABLE|USE_POLYGON);
	my._ht += (trace_hit == 0 && my._ht == 0) * my.z_offset * 2;
	//spof_n1("ht: ", my._ht);
	if(my._ht < 3) {	
		//if(c_nResult < 0) {	c_nResult = c_trace(my.x,vector(my.x,my.y,my.z + 4000),IGNORE_ME|IGNORE_PASSABLE|USE_POLYGON);	}//!!FUDGE!! stop skyjumping
		//
		if(my._jmp==jmp0) {
			my.force_z = -1 * my._ht;
			if((key_space==0) && (in_space==1))	{ in_space = 0; } 
			if((key_space==1) 
			&& (in_space==0) 
			&& (my._mv==mv0) 
			&& (my._aniBlend>=stand) 
			&& (my._aniBlend!=jump)
			&& (my._aniBlend!=fall)) {
				in_space = 1;
				my._jmp = jmp1;
				my.force_z = 25;
				my.blendframe = jump;
				my._ani2 = 0;
				my._aniBlend = blend;
			}
		}
		if((my._jmp==jmp2) || (my._jmp==jmp3))	{ my._jmp = jmp0; }
	} else {
		if(my._jmp==jmp2) {
			if(my._ht > 120) {
				my._ani1 = 60;
				my._jmp = jmp3;
			} else	{ 
				my._jmp = jmp0;
			}
		}
		if((my._jmp==jmp3) && (my._ht <=120)) { my._jmp = jmp0; }	
		if((my._jmp==jmp0) && (my._mv==0)) {
			if((my._ht > 120) 
			&& (my._aniBlend>=stand) 
			&& (my._aniBlend!=jump) 
			&& (my._aniBlend!=fall)) {
				my._jmp = jmp3;
				my.blendframe = fall;
				my._ani2 = 0;
				my._aniBlend = blend;
			}
		}
		my.force_z -= my._gravity * time_step;
		my.force_z = maxv(-30,my.force_z);
		if(my._mv==mv2) { my.force_z = 0; }
	}
 	my.velocity_z += (time_step * my.force_z) - (minv(time_step*0.7,1) * my.velocity_z);
	my._moveZ = my.velocity_z * time_step;
}

/******************************
	pl1f_cam1
		Stable/rigid camera collision
*******************************/
function pl1f_cam1() {
	camera.pan -= mouse_force.x * 12 * time_step;
	camera.tilt += mouse_force.y * 8 * time_step;
	camera.tilt = clamp(camera.tilt,-30,10);
	angle1.pan = fcos(camera.tilt,-cam_nDist);
	vec_set(camera.x,vector(my.x + fcos(camera.pan,angle1.pan),my.y + fsin(camera.pan,angle1.pan),my.z + 20 + fsin(camera.tilt,-cam_nDist)));
	vec_diff(v1.x,camera.x,my.x); 	//find the vector from the player to the camera
	vec_normalize(v1.x,16); 			//get the magnitude of it's vector to 16 quants and store it in temp
	vec_add(v1.x,camera.x); //add the vector (from player to camera) of a magnitude of 16 quants and add it to the camera's position.
	c_nResult = c_trace(my.x,v1.x,IGNORE_ME|IGNORE_PASSABLE|IGNORE_MODELS);
	if(c_nResult > 0) {
		vec_diff(v1.x,my.x,target.x); //find the vector from the point the trace hit to the player
		vec_normalize(v1.x,16); 		//get the magnitude of this vector to 16 quants and store in temp
		vec_set(camera.x,target.x);		//place the camera at the trace hit point
		vec_add(camera.x,v1.x);			//move the camera away from the wall by the vector temp, 16 quants towards the player
	}
}

/******************************
	pl1f_cam2
		Smoother camera collision
			not used
*******************************/
function pl1f_cam2() {
	cam_nPan -= mouse_force.x * 12 * time_step;
	cam_nTilt += mouse_force.y * 8 * time_step;
	cam_nTilt = clamp(cam_nTilt,-30,10);
	camera.pan = cam_nPan;
	angle1.pan = fcos(cam_nTilt,-cam_nDist);
	vec_set(cam_vMoveTo.x,vector(my.x + fcos(camera.pan,angle1.pan),my.y + fsin(camera.pan,angle1.pan),my.z + 20 + fsin(cam_nTilt,-cam_nDist)));
	var temp = minv(1,0.5 * time_step); //changing 0.5 will change how fast the camera moves, at 1 places us at target, this value is what allows the smooth movement
	camera.x += temp*(cam_vMoveTo.x - camera.x);
	camera.y += temp*(cam_vMoveTo.y - camera.y);
	camera.z += temp*(cam_vMoveTo.z - camera.z);
	vec_diff(v1.x,camera.x,my.x);
	vec_normalize(v1.x,16);
	vec_add(v1.x,camera.x);
	if (c_trace(my.x,v1.x,IGNORE_ME|IGNORE_PASSABLE|IGNORE_MODELS) > 0) {
		vec_diff(v1.x,my.x,target.x);
		vec_normalize(v1.x,16);
		vec_set(camera.x,target.x);
		vec_add(camera.x,v1.x);
	}
	vec_diff(v1.x,my.x,camera.x);
	vec_to_angle(camera.pan,v1.x);
}

/******************************
	cf_rotate1
*******************************/
function cf_rotate1(var _nAngle, var _nSp) {
	if (c_nRotate == 2) { cf_rotate2(_nAngle, _nSp); }
	if(my.pan == _nAngle) { return; }
	c_nResult = ang(_nAngle - my.pan);
	if (c_nResult > 0)		my.pan += _nSp * time_step;
	if (c_nResult < 0)		my.pan -= _nSp * time_step; 
	if ((ang(_nAngle - my.pan) < 0) && (c_nResult > 0))	{ my.pan = _nAngle; } 
	if ((ang(_nAngle - my.pan) > 0) && (c_nResult < 0))	{ my.pan = _nAngle; } 
}
/******************************
	cf_rotate2
		uses c_rotate
		not currenty used
*******************************/
function cf_rotate2(var _angle, _speed) {
	if (my.pan == _angle) { return; }
	c_nResult = ang(_angle - my.pan);
	angle1.pan = minv(abs(c_nResult), time_step * _speed) * sign(c_nResult);
	angle1.tilt = 0;
	angle1.roll = 0;
	c_rotate(me, angle1, IGNORE_ME | IGNORE_PASSABLE);
}
//
/******************************
	wp1f_collide
*******************************/
function wp1f_collide() {
	you = NULL;
	vec_for_vertex(v1.x, pl1_eWp1,274); //sword base
	vec_for_vertex(v2.x,pl1_eWp1, 54); //sword tip
	c_nResult = c_trace(v1.x,v2.x,IGNORE_ME|IGNORE_PASSABLE|USE_BOX);
	if (you != NULL) {
		if ((you.entity_type == 2) && (you.hit_by_player == 0)) {
			if (pl1_nAirAttack == 1 && my._aniBlend == attack_a) { my._mv = mv2; }
			you.hit_by_player = 1;
			if (pl1_eTargetEnemy == NULL)		{	
				pl1_eTargetEnemy = you;
				pl1_nLockOn = 1; 	
			}
		}
	}
}
/******************************
	pl1a1
*******************************/
action pl1a1() {
	pl1f_animInit();
	c_setminmax(me);					//added to correct ground collisions
	wait(1);								//added to correct ground collisions
	player = me;
	my._gravity = 6;
	my.z_offset = -my.min_z;		//was 6	//added to correct ground collisions
	set(my,SHADOW);
	ent_create(wp1_md1, my.x, wpa_1);
	wait(1);
	while(me != NULL) { //the main loop
		pl1f_gravity();
		pl1f_move();
		pl1f_anim(1);
		pl1f_cam1();
		wait(1);
	}
}

#endif



enemy.c
Click to reveal..

Code:
#ifndef enemy_c
#define enemy_c
/////
//
//
action enemy_dummy()
{
	set(my,SHADOW);
	my.entity_type = 2;
	my.emask |= ENABLE_SCAN;
	while(1) {
		if(player!=NULL) {
			if(my.hit_by_player==1) {
				my._moveX = player._moveX;
				my._moveY = player._moveY;
				my._moveZ = player._moveZ;
				c_move(my, nullvector, my._moveX, USE_AABB|IGNORE_PASSABLE|GLIDE);
				if((player._aniBlend==blend)
				|| (player._aniBlend<attack_a) 
				|| (my._aniBlend>attack_f)) { 
					my.hit_by_player=0;
				}
			}
			if((player._aniBlend>=stand) 
			&& (pl1_eTargetEnemy==me) 
			&& (pl1_nLockOn==0) 
			&& ((player._aniBlend<attack_a) || (player._aniBlend>attack_f))) {	
				pl1_eTargetEnemy = NULL;	 
			}
			if((pl1_eTargetEnemy==me)&&(vec_dist(my.x,player.x)>200)) { pl1_eTargetEnemy = NULL; }
		}
		wait(1);
	}
}
//
//
/////
#endif


animaton.c
Click to reveal..

Code:
#ifndef animation_c
#define animation_c
/////
//
//


function pl1f_anim(var anim_sp) 
{
	if(anim_sp <= 0) { anim_sp = 1; }
	if(my._aniBlend != blend 
	&& my.blendframe != nullframe) { 
		my._ani2 = 0;
		my._aniBlend = blend; 
	}
	if(my._aniBlend == blend) {
		/*
		if(my.currentframe == stand) { ent_animate(my,"stand",my._ani1,ANM_CYCLE); }
		if(my.currentframe == run) { ent_animate(my,"run",my._ani1,ANM_CYCLE); }
		if(my.currentframe == walk) { ent_animate(my,"walk",my._ani1,ANM_CYCLE); }
		if(my.currentframe == jump) { ent_animate(my,"jump",my._ani1,0); }
		if(my.currentframe == attack_a) { ent_animate(my,"attack_a",my._ani1,0); }
		if(my.currentframe == attack_b) { ent_animate(my,"attack_b",my._ani1,0); }
		if(my.currentframe == attack_c) { ent_animate(my,"attack_c",my._ani1,0); }
		if(my.currentframe == attack_d) { ent_animate(my,"attack_d",my._ani1,0); }
		if(my.currentframe == attack_e) { ent_animate(my,"attack_e",my._ani1,0); }
		if(my.currentframe == attack_f) { ent_animate(my,"attack_f",my._ani1,0); }
		*/
		ent_animate(me, (pl1_tAnim.pstring)[my.currentframe], my._ani1, pl1_aAnimMode[my.currentframe]);
		if (my.blendframe != blend) {
			ent_blend((pl1_tAnim.pstring)[my.blendframe], 0, my._ani2);
		}
		
		my._ani2 += 45 * time_step;
		if(my._ani2 >= 100) {
			my._ani1 = 0;
			my._aniBlend = my.blendframe;
			my.blendframe = nullframe;
		}
	}
	switch(my._aniBlend) {
		case stand:	
			ent_animate(me,"stand",my._ani1,ANM_CYCLE);
			my._ani1 += 5 * anim_sp * time_step;
			my._ani1 %= 100;
			my.currentframe = my._aniBlend;
			break;
		case run:
			ent_animate(my,"run",my._ani1,ANM_CYCLE);
			my._ani1 += 8 * anim_sp * time_step;
			my._ani1 %= 100;
			my.currentframe = my._aniBlend;
			break;
		case walk:
			ent_animate(my,"walk",my._ani1,ANM_CYCLE);
			my._ani1 += 8 * anim_sp * time_step;
			my._ani1 %= 100;
			my.currentframe = my._aniBlend;
			break;
		case attack_a:
			ent_animate(my,"attack_a",my._ani1,0);
			my._ani1 += 20 * anim_sp * time_step;
			my.currentframe = attack_a;
			if(my._ani1 >= 100) {
				ent_animate(my,"attack_a",100,0);
				my._ani1 = 100;
				my.blendframe = stand;
				if(my._moving == 1) {
					if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
				}
				if(pl1_nComboNext == 1) {
					pl1_nComboNext = 0;
					my.blendframe = attack_b;
				} else {
					my._mv = 0;
				}
			}
			break;
		case attack_b:
			ent_animate(my,"attack_b",my._ani1,0);
			my._ani1 += 15 * anim_sp * time_step;
			my.currentframe = attack_b;
			if(my._ani1 >= 100) {
				ent_animate(my,"attack_b",100,0);
				my._ani1 = 100;
				my.blendframe = stand;
				if(my._moving == 1) {
					if(key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
				}
				if(pl1_nComboNext == 1) {
					pl1_nComboNext = 0;
					my.blendframe = attack_c;
				} else {
					my._mv = 0;
				}
			}
			break;
		case attack_c:
			ent_animate(my,"attack_c",my._ani1,0);
			my._ani1 += 10 * anim_sp * time_step;
			my.currentframe = attack_c;
			if(my._ani1 >= 100) {
				ent_animate(my,"attack_c",100,0);
				my._ani1 = 100;
				my.blendframe = stand;
				if(my._moving == 1) {
					if(key_shift == 1) { 
						my.blendframe = walk; 
					} else { 
						my.blendframe = run; 
					}
				}
				if(pl1_nComboNext == 1) {
					my._jmp = jmp10;
					my.force_z = 12;
					my._gravity = 4;
					pl1_nComboNext = 0;
					my.blendframe = attack_d;
				} else {
					my._mv = 0;
				}
			}
			break;
		case attack_d:
			wp1f_collide();
			ent_animate(my,"attack_d",my._ani1,0);
			my._ani1 += 15 * anim_sp * time_step;
			my.currentframe = attack_d;
			if(my._ani1 >= 100) {
				ent_animate(my,"attack_d",100,0);
				my._ani1 = 100;
				my.blendframe = stand;
				if(my._moving == 1) {
					if(key_shift == 1) { 
						my.blendframe = walk; 
					} else { 
						my.blendframe = run; 
					}
				}
				if(pl1_nComboNext == 1) {
					pl1_nComboNext = 0;
					my.blendframe = attack_e;
				} else {
					my._mv = mv0;
				}
			}
			break;
		case attack_e:
			ent_animate(my,"attack_e",my._ani1,0);
			my._ani1 += 15 * anim_sp * time_step;
			my.currentframe = attack_e;
			if(my._jmp == jmp0
			&& my._ani1 >= 20 
			&& my._ani1 < 60) {
				my._gravity = 3;
				my._jmp = jmp10;
				my.force_z = 15;
			}
			//block122
			if(my._ani1 >= 100) {
				ent_animate(my,"attack_e",100,0);
				my._ani1 = 100;
				my.blendframe = stand;
				if(my._moving == 1) {
					if(key_shift == 1) { 
						my.blendframe = walk; 
					} else { 
						my.blendframe = run; 
					}
				}

				if(pl1_nComboNext == 1) {
					pl1_nComboNext = 0;
					my.blendframe = attack_f;
				} else {
					my._mv = mv0;
				}
			}
			break;
		case attack_f:
			ent_animate(my,"attack_f",my._ani1,0);
			my._ani1 += 6 * anim_sp * time_step;
			my.currentframe = attack_f;
			if(my._jmp == jmp0 
			&& my._ani1 >= 40 
			&& my._ani1 < 60) {
				my._gravity = 6;
				my._jmp = jmp10;
				my.force_z = 12;
			}
			//block121
			if(my._ani1 >= 100) {
				my._mv = mv0;
				ent_animate(my,"attack_f",100,0);
				my._ani1 = 100;
				my.blendframe = stand;
				if(my._moving == 1) {
					if(key_shift == 1) { 
						my.blendframe = walk; 
					} else { 
						my.blendframe = run; 
					}
				}
			}
			break;
	}
	if(my._aniBlend == jump 
	|| my._aniBlend == fall) {
		if(my._jmp == jmp3) { my._ani1 = 60; }
		ent_animate(me,"jump",my._ani1,0);
		my._ani1 += 10 * anim_sp * time_step;
		my.currentframe = jump;
		if(my._ani1 >= 60 && my._jmp == jmp1) { my._jmp = jmp2; }
		if(my._ani1 >= 100) {
			ent_animate(me,"jump",100,0);
			my._ani1 = 100;
			my.blendframe = stand;
			if(my._moving == 1) {
				if(key_shift == 1) { 
					my.blendframe = walk; 
				} else { 
					my.blendframe = run; 
				}
			}
		}
	}

	if(my._aniBlend >= attack_a && my._aniBlend <= attack_f) { wp1f_collide(); }
	if(my._aniBlend != blend && my.blendframe != nullframe) { my._ani2 = 0; my._aniBlend = blend; }
}
//
//
/////
#endif




Re: [REQ] converting a code to lite-c [Re: testDummy] #248965
01/30/09 12:49
01/30/09 12:49
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Originally Posted By: testDummy
Quoting Cowabanga.
Quote:
Thanks, I'll try it.

...and?
('We' cannot test it properly here without more data / samples.
At least for 'our' records, did the results seem better, or worse?)


seem worse. Crash in all events.

Hey? Try to copy the gravity function from the modified KH Movement to the Original one!

But i can't. It's kinda hard frown.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #249532
02/03/09 07:39
02/03/09 07:39
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
[Sorry for double posting]


Anyone PLEEEEEAAAASSSSSEEEE!

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #251195
02/11/09 21:35
02/11/09 21:35
Joined: Oct 2004
Posts: 1,655
T
testDummy Offline
Serious User
testDummy  Offline
Serious User
T

Joined: Oct 2004
Posts: 1,655
Not that it matters, but HERE, both of the previously posted tri-set samples appear to function 'adequately' under Lite-C free 1.70.1

main.c (mod high version)
Click to reveal..

Code:
#include <acknex.h>
#include <default.c>
//#include "_0c.h"
//#include "_0c.c"
#include "player.c"
#include "enemy.c"
#include "animation.c"

STRING* floor_md1 = "plate256x256x2.mdl";
STRING* pl_md1 = "player.mdl";

action floor_a1() {
	set(me, POLYGON);
}
//VECTOR* v7 = { x=1; y=2; z=3; }
function main()	{
	camera.clip_near = 0;
	video_switch(7,0,1);
	level_load("");
	//dgf_1();
	// create variable floor plates
	ent_create(floor_md1, vector(0, 0, -64), floor_a1);
	ent_create(floor_md1, vector(256, 0, -64), floor_a1);
	ent_create(floor_md1, vector(-256, 0, -64), floor_a1);
	ent_create(floor_md1, vector(0, 256, -64), floor_a1);
	ent_create(floor_md1, vector(0, -256, -64), floor_a1);
	ent_create(floor_md1, vector(256, 256, -128), floor_a1);
	ent_create(floor_md1, vector(-256, 256, -128), floor_a1);
	ent_create(floor_md1, vector(256, -256, -128), floor_a1);

	// create inactive enemy
	ent_create(pl_md1, vector(0, 128, 0), enemy_dummy);
	
	wait(3);
	// create player
	ent_create(pl_md1, vector(0,0,128), pl1a1);
}



Last edited by testDummy; 02/12/09 07:39. Reason: version misprint
Re: [REQ] converting a code to lite-c [Re: testDummy] #251228
02/12/09 06:32
02/12/09 06:32
Joined: Feb 2008
Posts: 3,232
Australia
EvilSOB Offline
Expert
EvilSOB  Offline
Expert

Joined: Feb 2008
Posts: 3,232
Australia
I can take another look, Ive learnt a bit about collisions
since my last attempt, but which one should I start from?

Will I start from the original, the low mod, or the high mod version?
Your choice, its your request.


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial
Re: [REQ] converting a code to lite-c [Re: EvilSOB] #251236
02/12/09 07:56
02/12/09 07:56
Joined: Oct 2004
Posts: 1,655
T
testDummy Offline
Serious User
testDummy  Offline
Serious User
T

Joined: Oct 2004
Posts: 1,655
runs HERE
Lite-C 1.50 (7.50) ~OK
Lite-C 1.70.1 (7.70.1) ~OK
Quoting Cowabanga.
Abbreviated guess list for "crash in all events" -> "crash in event":
Quote:
I'll test it in 7.60 soon but because i have 7.07, it crashes every time when i to run the script

1. residuals @ 7.07 ?
2. empty pointer (related to ordering?)?
3. other (obvious dummy error)?

Quoting EvilSOB.
Quote:
Will I start from the original, the low mod, or the high mod version? Your choice, its your request.

4|1. start from the original C-Script source -
5. write completely new version from scratch +

Re: [REQ] converting a code to lite-c [Re: testDummy] #251244
02/12/09 08:41
02/12/09 08:41
Joined: Feb 2008
Posts: 3,232
Australia
EvilSOB Offline
Expert
EvilSOB  Offline
Expert

Joined: Feb 2008
Posts: 3,232
Australia
I'd prefer to start from the original, but its up to cowabanga.
I'll most likely to a restart from original anyway.
But a complete re-write is too much for me. I aint that good yet...


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial
Page 5 of 8 1 2 3 4 5 6 7 8

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1