fixed linear platforms not moving vertically
This commit is contained in:
parent
e0c873989d
commit
fe15e47273
BIN
obj/entities.o
BIN
obj/entities.o
Binary file not shown.
BIN
obj/generation.o
BIN
obj/generation.o
Binary file not shown.
BIN
obj/main.o
BIN
obj/main.o
Binary file not shown.
BIN
obj/menus.o
BIN
obj/menus.o
Binary file not shown.
|
@ -97,17 +97,26 @@ void moving_xyz(double x, double y, double z, double w, double h, double d, doub
|
||||||
// metai{2} = y_side (+/- 1)
|
// metai{2} = y_side (+/- 1)
|
||||||
// metai{3} = z_side (+/- 1)
|
// metai{3} = z_side (+/- 1)
|
||||||
void moving_xyz_line(double x, double y, double z, double w, double h, double d, double hz_angle, double vt_angle, float dtime, entity* ent, cube_0* ret) {
|
void moving_xyz_line(double x, double y, double z, double w, double h, double d, double hz_angle, double vt_angle, float dtime, entity* ent, cube_0* ret) {
|
||||||
|
//printf("%lf %lf %lf", ent->metad7, ent->metad8, ent->metad9);
|
||||||
|
//printf("| %lf %lf %lf\n", ent->metad4, ent->metad5, ent->metad6);
|
||||||
ret->x += (ent->metai1)*ent->metad4*dtime;
|
ret->x += (ent->metai1)*ent->metad4*dtime;
|
||||||
if(absf(ent->metad1 - ret->x) > ent->metad7) {
|
if(absf(ent->metad1 - ret->x) > ent->metad7) {
|
||||||
|
//printf("-x-\n");
|
||||||
ent->metai1 *= (-1);
|
ent->metai1 *= (-1);
|
||||||
|
ret->x += (ent->metai1)*ent->metad4*dtime;
|
||||||
}
|
}
|
||||||
ret->y += (ent->metai2)*ent->metad5*dtime;
|
ret->y += (ent->metai2)*ent->metad5*dtime;
|
||||||
|
printf("%lf, %lf | %lf\n", ent->metad2, ret->y, ent->metad8);
|
||||||
if(absf(ent->metad2 - ret->y) > ent->metad8) {
|
if(absf(ent->metad2 - ret->y) > ent->metad8) {
|
||||||
|
//printf("-y-\n");
|
||||||
ent->metai2 *= (-1);
|
ent->metai2 *= (-1);
|
||||||
|
ret->y += (ent->metai2)*ent->metad5*dtime;
|
||||||
}
|
}
|
||||||
ret->z += (ent->metai3)*ent->metad6*dtime;
|
ret->z += (ent->metai3)*ent->metad6*dtime;
|
||||||
if(absf(ent->metad3 - ret->z) > ent->metad9) {
|
if(absf(ent->metad3 - ret->z) > ent->metad9) {
|
||||||
|
//printf("-z-\n");
|
||||||
ent->metai3 *= (-1);
|
ent->metai3 *= (-1);
|
||||||
|
ret->z += (ent->metai3)*ent->metad6*dtime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,9 +144,9 @@ void translatePlayer(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void translatePlayerLine(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) {
|
void translatePlayerLine(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) {
|
||||||
double dx = ent->metad4*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0)));
|
double dx = (ent->metai1)*ent->metad4*dtime;
|
||||||
double dy = ent->metad5*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0)));
|
double dy = (ent->metai2)*ent->metad5*dtime;
|
||||||
double dz = ent->metad6*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0)));
|
double dz = (ent->metai3)*ent->metad6*dtime;
|
||||||
//fx += dx/(dtime*dtime);
|
//fx += dx/(dtime*dtime);
|
||||||
fy += dy/(dtime*dtime);
|
fy += dy/(dtime*dtime);
|
||||||
//fz += dz/(dtime*dtime);
|
//fz += dz/(dtime*dtime);
|
||||||
|
|
|
@ -420,6 +420,10 @@ void parse_one_room(int id, char* filename) {
|
||||||
double speed_x = read_float(ptr);
|
double speed_x = read_float(ptr);
|
||||||
double speed_y = read_float(ptr);
|
double speed_y = read_float(ptr);
|
||||||
double speed_z = read_float(ptr);
|
double speed_z = read_float(ptr);
|
||||||
|
//printf("%lf, %lf, %lf, %lf, %lf, %lf\n", amp_x, amp_y, amp_z, speed_x, speed_y, speed_z);
|
||||||
|
pool[id].area->ents[k]->metad1 = cx;
|
||||||
|
pool[id].area->ents[k]->metad2 = cy;
|
||||||
|
pool[id].area->ents[k]->metad3 = cz;
|
||||||
pool[id].area->ents[k]->metad4 = speed_x;
|
pool[id].area->ents[k]->metad4 = speed_x;
|
||||||
pool[id].area->ents[k]->metad5 = speed_y;
|
pool[id].area->ents[k]->metad5 = speed_y;
|
||||||
pool[id].area->ents[k]->metad6 = speed_z;
|
pool[id].area->ents[k]->metad6 = speed_z;
|
||||||
|
|
|
@ -225,7 +225,7 @@ int main_alt() {
|
||||||
init_ent_generator(10);
|
init_ent_generator(10);
|
||||||
init_proj();
|
init_proj();
|
||||||
init_interf();
|
init_interf();
|
||||||
parse_rooms(6);
|
parse_rooms(7);
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------- //
|
// ---------------------------------------------------------------------------------------------------------------------------------------------- //
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------- //
|
// ---------------------------------------------------------------------------------------------------------------------------------------------- //
|
||||||
|
|
|
@ -114,7 +114,7 @@ void gl_drawInteger(unsigned int fragShader, int n, float x, float y, float size
|
||||||
left *= (-1);
|
left *= (-1);
|
||||||
}
|
}
|
||||||
if(side == 1) {
|
if(side == 1) {
|
||||||
curx += ((ln_baseN(abs(n), 10)-1)*(size+4*width));
|
curx += (((n==0)+ln_baseN(abs(n), 10)-1)*(size+4*width));
|
||||||
}
|
}
|
||||||
while(left > 0) {
|
while(left > 0) {
|
||||||
gl_drawDigit(fragShader, left%10, curx, y, size, r, g, b, width);
|
gl_drawDigit(fragShader, left%10, curx, y, size, r, g, b, width);
|
||||||
|
|
|
@ -13,7 +13,7 @@ Entities:
|
||||||
[0.0, 10.0, -5.0, 4.0, 1.0, 4.0, 0.0, 0.0, 192, 128, 192, 10, 0, 4, 0.0, 0.0, 5.0, 2, 1, 35]
|
[0.0, 10.0, -5.0, 4.0, 1.0, 4.0, 0.0, 0.0, 192, 128, 192, 10, 0, 4, 0.0, 0.0, 5.0, 2, 1, 35]
|
||||||
|
|
||||||
Weight :
|
Weight :
|
||||||
100
|
50
|
||||||
|
|
||||||
$
|
$
|
||||||
entities:
|
entities:
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
Blocks :
|
||||||
|
[-8.0, 0.0, -8.0, 16.0, 1.0, 16.0, 0.0, 0.0, 192, 192, 192]
|
||||||
|
|
||||||
|
Teleporters :
|
||||||
|
[-10.0, 1.0, -1.0, 1.0, 2.0, 2.0, 0.0, 0.0, 255, 0, 0; -1, 0]
|
||||||
|
[-1.0, 1.0, -10.0, 2.0, 2.0, 1.0, 0.0, 0.0, 255, 255, 0; 0, -1]
|
||||||
|
[9.0, 1.0, -1.0, 1.0, 2.0, 2.0, 0.0, 0.0, 0, 255, 0; 1, 0]
|
||||||
|
[-1.0, 1.0, 9.0, 2.0, 2.0, 1.0, 0.0, 0.0, 0, 0, 255; 0, 1]
|
||||||
|
|
||||||
|
Entities:
|
||||||
|
[-2.0, 4.1, -2.0, 4.0, 1.0, 4.0, 0.0, 0.0, 32, 128, 192, 10, 0, 5, 0.0, 4.0, 0.0, 0.0, 5.5, 0.0]
|
||||||
|
[-6.0, 8.1, -2.0, 4.0, 1.0, 4.0, 0.0, 0.0, 32, 128, 192, 10, 0, 5, 0.0, 4.0, 0.0, 0.0, 6.0, 0.0]
|
||||||
|
[6.0, 12.1, -2.0, 4.0, 1.0, 4.0, 0.0, 0.0, 32, 128, 192, 10, 0, 5, 0.0, 4.0, 0.0, 0.0, 6.5, 0.0]
|
||||||
|
|
||||||
|
Weight :
|
||||||
|
50
|
||||||
|
|
||||||
|
$
|
||||||
|
entities:
|
||||||
|
[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..]
|
||||||
|
|
||||||
|
if entityType = 4 (moving platform)
|
||||||
|
[.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with
|
||||||
|
amplitude_{x,y,z} = double[>= 0.0]
|
||||||
|
{mult,divd} = int
|
||||||
|
{phase} = int[0, 360]
|
||||||
|
|
||||||
|
else if entityType = 5 (linear moving platform)
|
||||||
|
[.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with
|
||||||
|
amplitude_{x,y,z} = double[>= 0.0]
|
||||||
|
speed_{x,y,z} = double
|
||||||
|
|
||||||
|
else
|
||||||
|
[..]
|
Loading…
Reference in New Issue