Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, 1 invisible), 1,395 guests, and 12 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19055 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 8 1 2 3 4 5 6 7 8
[REQ] converting a code to lite-c #238995
12/01/08 17:36
12/01/08 17:36
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...
Hi,

Can anyone please convert Kingdom Hearts MovementCode from C-script to Lite-c?

Because i need it.
Thanks smile.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #239251
12/03/08 16:48
12/03/08 16:48
Joined: Nov 2007
Posts: 318
Brasil, Paraná
NeoNeper Offline
Senior Member
NeoNeper  Offline
Senior Member

Joined: Nov 2007
Posts: 318
Brasil, Paraná
ooooooo yeaaa..
Tanks brother..
Very good.. (^.~)


Please! Use easy words to be translated. because my English is not very good! Grateful.
_______________________________________________________
Re: [REQ] converting a code to lite-c [Re: NeoNeper] #239269
12/03/08 18:48
12/03/08 18:48
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...
mad i guess im gonna explode!!
did you get it?

anyone please convert the code to lite-c pleaaaase!
i really need it, seriously if i know c-script and lite-c ill convert it, but i dont know c-script! just lite-c, so please anyone!!!, i said ANYONE!!

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #239292
12/03/08 20:41
12/03/08 20:41
Joined: Oct 2008
Posts: 218
Nashua NH
heinekenbottle Offline
Member
heinekenbottle  Offline
Member

Joined: Oct 2008
Posts: 218
Nashua NH
I have two papers and a prob-stats exam due Friday but I think I'll crack down on this and try to get it by Monday.

But all in all, C-Script wasn't terribly different from Lite-C, a functioning code wouldn't be too difficult.

Just somethings to consider after looking at a few pages of the tutorial:

1. time is replaced by time_step

2. temp is no longer defined in the engine and must be declared like any other vector, var, pointer, whatever.

3. lite-c is case sensitive whereas C-Script was not. FUNCTION, ACTION, IF, WHILE, were valid in C-Script but not in Lite-c. Same goes for c_move, c_trace, and c_scan modes.

4. Flags are no longer set by the object-dot-property method but by either the set/reset macro or the flags |= / flags &= method. (there is also flags2 and emask)

5. Precompiler instructions (#include and #define) must be lower case and begin with a "#". .wdl files cannot be used in a .c project and .c projects do not use angular brackets but quotations (ex: #include "movement.c"). Header files (acknex.h) do use angular brackets. Precompiler instructions do not require semicolons, as c-script instructions did (c_script had no true precompiler instructions, everything was compiled at once)

6. actions are now a type of function and must have parenthesis even though actions do not return any value, nor do they pass parameters.

7. var cannot access .x, .y, .z, .pan, .tilt, or .roll like they use to be able to in C-Script. You must either use VECTOR or ANGLE. Alternatively, a 3 variable array can be used, with myVar[0] being x. Any 3 consecutive skills (my.skill1, my.skill2, my.skill3) can also be vectors but note that if you use my.skill1 as a vector, you can't use my.skill2 or my.skill3 for some other variable.

8. Not exactly a syntactical error, but something that makes code clearer, after a conditional branch (if, while, for, etc), if the instruction does not exceed 1 line, curly braces are not needed.

while(!player) { wait(1); } //c-script
while(!player) wait(1); //lite-c

9. trace_mode and move_mode have been built into c_move and c_trace (c_move(entity,relative_distance,absolute_distance,move_mode); and c_trace(to,from,trace_mode);) and the flags in the modes are capitalized.

10. on_key = function; assignments in c_script could be placed outside of functions, anywhere in the script. This is not true in lite-c. In lite-c, on_key assignments are called in a function. Alternatively, we can use "function on_key_event() { doStuff(); } for key strokes. Or we can wait for key strokes in a while loop:
Code:
while(1)
{
  if(key_space)
      jump();
  wait(1);
}


These 10, I'm sure aren't the only differences.

I'll see if I can convert the script this weekend.

Last edited by heinekenbottle; 12/03/08 20:52.

I was once Anonymous_Alcoholic.

Code Breakpoint;
Re: [REQ] converting a code to lite-c [Re: heinekenbottle] #239368
12/04/08 09:39
12/04/08 09: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...
Thanks laugh.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240220
12/10/08 03:14
12/10/08 03:14
Joined: Oct 2008
Posts: 218
Nashua NH
heinekenbottle Offline
Member
heinekenbottle  Offline
Member

Joined: Oct 2008
Posts: 218
Nashua NH
I should NOT have said Monday, I'm sorry about that, but I will get it done soon.


I was once Anonymous_Alcoholic.

Code Breakpoint;
Re: [REQ] converting a code to lite-c [Re: heinekenbottle] #240274
12/10/08 11:10
12/10/08 11:10
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...
lol, no problem. laugh

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240359
12/10/08 16:19
12/10/08 16:19
Joined: Feb 2008
Posts: 3,232
Australia
EvilSOB Offline
Expert
EvilSOB  Offline
Expert

Joined: Feb 2008
Posts: 3,232
Australia
Ive done the best I could but there are a couple of fudges in player.c with comments.
Hope this is good enough to get you through.
Sorry the source is all here, but I dont have a free web storage facility.

MAIN.C
Click to reveal..
Code:
#include <acknex.h>
#include <default.c>
#include "player.c"
#include "enemy.c"
#include "animation.c"

function main()	{
	camera.clip_near = 0;
	video_switch(7,0,1);
	level_load("level.wmb");
}
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 - 4000),IGNORE_ME|IGNORE_PASSABLE|USE_POLYGON);
	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	//  player_c
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	//enemy_c
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	//animation_c



"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] #240515
12/11/08 12:09
12/11/08 12:09
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!

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240521
12/11/08 12:27
12/11/08 12:27
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...
Problems.... player can't jump and the glide mode isn't activated.

Page 1 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