|
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
testDummy
Serious User
|
Serious User
Joined: Oct 2004
Posts: 1,655
|
Quoting Cowabanga. ...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: Cowabanga]
#241921
12/20/08 01:17
12/20/08 01:17
|
Joined: Oct 2004
Posts: 1,655
testDummy
Serious User
|
Serious User
Joined: Oct 2004
Posts: 1,655
|
KHMovement D.Lancaster; EvilSOB Lite-C 7.50 ver: min mod player.c
#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
#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
#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
#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
#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
#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
OP
Expert
|
OP
Expert
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
|
Quoting Cowabanga. ...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 .
|
|
|
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
testDummy
Serious User
|
Serious User
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)
#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
Expert
|
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
testDummy
Serious User
|
Serious User
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": 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. 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
Expert
|
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
|
|
|
|