working on text display
This commit is contained in:
parent
e161db3807
commit
cf9e278068
BIN
obj/display.o
BIN
obj/display.o
Binary file not shown.
BIN
obj/entities.o
BIN
obj/entities.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.
BIN
obj/move.o
BIN
obj/move.o
Binary file not shown.
|
@ -220,5 +220,8 @@ void gl_drawData(unsigned int shaderProg) {
|
|||
gl_drawInteger(shaderProg, (int)10.0*camvy, 0.95f, -0.75f, 0.05f, 255, 255, 255, 0.005, -1);
|
||||
gl_drawInteger(shaderProg, (int)10.0*camvz, 0.95f, -0.9f, 0.05f, 255, 255, 255, 0.005, -1);
|
||||
|
||||
gl_drawInteger(shaderProg, njumps, 0.0f, 0.80f, 0.04f, 255, 255, 128, 0.005f, 1);
|
||||
|
||||
gl_drawString(shaderProg, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", -0.95f, 0.7f, 0.03f, 255-player_hp/4, player_hp/4, 0, 0.003f, 1);
|
||||
gl_drawInteger(shaderProg, player_hp, -0.95f, 0.9f, 0.05f, 255-player_hp/4, player_hp/4, 0, 0.005f, 1);
|
||||
}
|
|
@ -118,9 +118,9 @@ void go_to_player(double x, double y, double z, double w, double h, double d, do
|
|||
double dy = (y+h/2 - camy);
|
||||
double dz = (z+d/2 - camz);
|
||||
double total = sqrt(dx*dx + dy*dy + dz*dz);
|
||||
dx = 110.0*dx/total;
|
||||
dy = 110.0*dy/total;
|
||||
dz = 110.0*dz/total;
|
||||
dx = 11.0*dx/total;
|
||||
dy = 11.0*dy/total;
|
||||
dz = 11.0*dz/total;
|
||||
ret->x -= dtime*dx;
|
||||
if(is_colliding_with_map(ret) || is_colliding_with_tp(ret)) {
|
||||
ret->x += dtime*dx;
|
||||
|
|
33
src/main.c
33
src/main.c
|
@ -23,10 +23,12 @@
|
|||
double sim_time;
|
||||
int triCount;
|
||||
|
||||
double jPress = false;
|
||||
void processInput(GLFWwindow *window, float dtime) {
|
||||
if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) {
|
||||
glfwSetWindowShouldClose(window, true);
|
||||
}
|
||||
bool pressed = false;
|
||||
if(glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS) {
|
||||
/*
|
||||
for(int k = 0; k < 10; k++) {
|
||||
|
@ -41,9 +43,10 @@ void processInput(GLFWwindow *window, float dtime) {
|
|||
}
|
||||
}
|
||||
*/
|
||||
camvz = -speed*cos(rot_hz)*cos(rot_vt);
|
||||
camvx = -speed*sin(rot_hz)*cos(rot_vt);
|
||||
camvy = vtmult*speed*sin(rot_vt);
|
||||
camvz = -speed*cos(rot_hz);
|
||||
camvx = -speed*sin(rot_hz);
|
||||
pressed = true;
|
||||
//camvy = vtmult*speed*sin(rot_vt);
|
||||
}
|
||||
if(glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS) {
|
||||
/*
|
||||
|
@ -58,6 +61,7 @@ void processInput(GLFWwindow *window, float dtime) {
|
|||
}*/
|
||||
camvx = -speed*cos(rot_hz);
|
||||
camvz = speed*sin(rot_hz);
|
||||
pressed = true;
|
||||
}
|
||||
if(glfwGetKey(window, GLFW_KEY_Z) == GLFW_PRESS) {
|
||||
/*for(int k = 0; k < 10; k++) {
|
||||
|
@ -71,9 +75,10 @@ void processInput(GLFWwindow *window, float dtime) {
|
|||
k=11;
|
||||
}
|
||||
}*/
|
||||
camvz = speed*cos(rot_hz)*cos(rot_vt);
|
||||
camvx = speed*sin(rot_hz)*cos(rot_vt);
|
||||
camvy = -vtmult*speed*sin(rot_vt);
|
||||
camvz = speed*cos(rot_hz);
|
||||
camvx = speed*sin(rot_hz);
|
||||
pressed = true;
|
||||
//camvy = -vtmult*speed*sin(rot_vt);
|
||||
}
|
||||
if(glfwGetKey(window, GLFW_KEY_Q) == GLFW_PRESS) {
|
||||
/*for(int k = 0; k < 10; k++) {
|
||||
|
@ -87,11 +92,21 @@ void processInput(GLFWwindow *window, float dtime) {
|
|||
}*/
|
||||
camvx = speed*cos(rot_hz);
|
||||
camvz = -speed*sin(rot_hz);
|
||||
pressed = true;
|
||||
}
|
||||
|
||||
if(glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) {
|
||||
camvx = 0.0;
|
||||
camvz = 0.0;
|
||||
if(njumps > 0 && glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) {
|
||||
if(jPress) {
|
||||
camvy = vtmult*speed;
|
||||
njumps -= 1;
|
||||
jPress = false;
|
||||
}
|
||||
} else {
|
||||
jPress = true;
|
||||
}
|
||||
if(!pressed) {
|
||||
camvx *= (1.0-1.0*5.0*((double)dtime));
|
||||
camvz *= (1.0-1.0*5.0*((double)dtime));
|
||||
}
|
||||
|
||||
if(glfwGetKey(window, GLFW_KEY_E) == GLFW_PRESS) {
|
||||
|
|
158
src/menus.c
158
src/menus.c
|
@ -129,6 +129,164 @@ void gl_drawInteger(unsigned int fragShader, int n, float x, float y, float size
|
|||
}
|
||||
}
|
||||
|
||||
void gl_drawChar(unsigned int fragShader, char ch, float x, float y, float size, int r, int g, int b, float width) {
|
||||
if(ch == 'a' || ch == 'A') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'b' || ch == 'B') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size+width, 2*width, 2*size-width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size, 2*width, r, g, b);
|
||||
} else if(ch == 'c' || ch == 'C') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'd' || ch == 'D') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2+width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'e' || ch == 'E') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'f' || ch == 'F') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'g' || ch == 'G') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-width, size/2+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'h' || ch == 'H') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'i' || ch == 'I') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'j' || ch == 'J') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size/2+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'k' || ch == 'K') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'l' || ch == 'L') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'm' || ch == 'M') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'n' || ch == 'N') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'o' || ch == 'O') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'p' || ch == 'P') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
} else if(ch == 'q' || ch == 'Q') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'r' || ch == 'R') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/4-width, y-size-width, 2*width, size+2*width, r, g, b);
|
||||
} else if(ch == 's' || ch == 'S') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 't' || ch == 'T') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'u' || ch == 'U') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'v' || ch == 'V') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'w' || ch == 'W') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-size-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
} else if(ch == 'x' || ch == 'X') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-size-width, 2*width, 2*size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
} else if(ch == 'y' || ch == 'Y') {
|
||||
gl_drawRect(fragShader, x+size/2-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-width, y-size-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
} else if(ch == 'z' || ch == 'Z') {
|
||||
gl_drawRect(fragShader, x-size/2-width, y+size-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x+size/2-width, y-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-width, size+2*width, 2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, 2*width, size+2*width, r, g, b);
|
||||
gl_drawRect(fragShader, x-size/2-width, y-size-width, size+2*width, 2*width, r, g, b);
|
||||
}
|
||||
}
|
||||
|
||||
int get_string_len(char* s) {
|
||||
int k = 0;
|
||||
while(s[k] != '\0') {
|
||||
k+=1;
|
||||
}
|
||||
return k;
|
||||
}
|
||||
|
||||
// 7-segment display
|
||||
// side can be -1 (aligned right) or 1 (aligned left)
|
||||
void gl_drawString(unsigned int fragShader, char* str, float x, float y, float size, int r, int g, int b, float width, int side) {
|
||||
float curx = x;
|
||||
int len = get_string_len(str);
|
||||
if(side == 1) {
|
||||
curx += ((len)*(size+4*width));
|
||||
}
|
||||
char c = str[len-1];
|
||||
int i = len-1;
|
||||
while(i >= 0) {
|
||||
gl_drawChar(fragShader, c, curx, y, size, r, g, b, width);
|
||||
curx -= (size+4*width);
|
||||
i -= 1;
|
||||
c = str[i];
|
||||
}
|
||||
}
|
||||
|
||||
void gl_initDrawRect(unsigned int shaderProgram) {
|
||||
glUseProgram(shaderProgram);
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ void gl_drawRect(unsigned int fragShader, float x, float y, float w, float h, in
|
|||
void gl_initDrawRect(unsigned int shaderProgram);
|
||||
|
||||
void gl_drawInteger(unsigned int fragShader, int n, float x, float y, float size, int r, int g, int b, float width, int side);
|
||||
void gl_drawString(unsigned int fragShader, char* str, float x, float y, float size, int r, int g, int b, float width, int side);
|
||||
|
||||
void init_interf();
|
||||
void free_interf();
|
||||
|
|
19
src/move.c
19
src/move.c
|
@ -22,10 +22,11 @@ double creative_speed = 0.3;
|
|||
double speed = 8.0;
|
||||
double vtmult = 1.5;
|
||||
double min_dist = 0.1;
|
||||
double friction = 0.8;
|
||||
double friction = 0.3;
|
||||
double gravity_factor = 9.8;
|
||||
// ---------------------------------------------------------------------------------------------------- //
|
||||
|
||||
int njumps;
|
||||
double fx;
|
||||
double fy;
|
||||
double fz;
|
||||
|
@ -73,6 +74,7 @@ void init_csts() {
|
|||
room_width = 16.0;
|
||||
room_depth = 16.0;
|
||||
sq2 = sqrt(2);
|
||||
njumps = 3;
|
||||
stop_evetything = false;
|
||||
tan_fov = tan((fov * 3.14159 / 180.0) / 2.0);
|
||||
}
|
||||
|
@ -163,7 +165,7 @@ void updateF(cube_0* cb, double dtime) {
|
|||
(dot3D(vt, normal) <= 0.0 && dot3D(vtdt, normal) >= 0.0) ||
|
||||
(dot3D(vt, normal) >= 0.0 && dot3D(vtdt, normal) <= 0.0)
|
||||
) {
|
||||
printf("%d\n", d);
|
||||
//printf("%d\n", d);
|
||||
double normv = sqrt(camvx*camvx + camvy*camvy + camvz*camvz);
|
||||
|
||||
double alpha = acos(dot3D(normal, (pt_2d){.x = camvx, .y = camvy, .z = camvz})/normv);
|
||||
|
@ -175,6 +177,10 @@ void updateF(cube_0* cb, double dtime) {
|
|||
camvx += u.x;
|
||||
camvy += u.y;
|
||||
camvz += u.z;
|
||||
|
||||
camvx /= 1.41;
|
||||
camvy /= 1.41;
|
||||
camvz /= 1.41;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -234,6 +240,7 @@ void movePlayerG(float dtime) {
|
|||
fz = 0.0;
|
||||
|
||||
camvy -= gravity_factor*dtime;
|
||||
bool isfalling = camvy < 0.0;
|
||||
|
||||
double delx = camvx*dtime;
|
||||
double dely = camvy*dtime;
|
||||
|
@ -242,7 +249,7 @@ void movePlayerG(float dtime) {
|
|||
camy += dely;
|
||||
camz += delz;
|
||||
if(is_colliding(dtime)) {
|
||||
printf("HIT\n");
|
||||
//printf("HIT\n");
|
||||
//printf("[%lf, %lf, %lf]\n{%lf, %lf, %lf}\n\n", fx, fy, fz, camvx, camvy, camvz);
|
||||
}
|
||||
camx -= delx;
|
||||
|
@ -255,9 +262,15 @@ void movePlayerG(float dtime) {
|
|||
camvy += fy*dtime;
|
||||
camvz += fz*dtime;
|
||||
//printf("%lf | %lf | %lf\n\n", camvx, camvy, camvz);
|
||||
if(isfalling && camvy > 0.0) {
|
||||
njumps = 3;
|
||||
}
|
||||
camx += camvx*dtime;
|
||||
camy += camvy*dtime;
|
||||
camz += camvz*dtime;
|
||||
|
||||
camvx *= (1.0 - friction*((double)(dtime)));
|
||||
camvz *= (1.0 - friction*((double)(dtime)));
|
||||
}
|
||||
|
||||
void teleport_on_edge() {
|
||||
|
|
|
@ -153,4 +153,6 @@ extern double fx;
|
|||
extern double fy;
|
||||
extern double fz;
|
||||
|
||||
extern int njumps;
|
||||
|
||||
#endif
|
|
@ -12,17 +12,7 @@ Teleporters :
|
|||
[4.0, 1.0, 9.0, 2.0, 4.0, 1.0, 0.0, 0.0, 0, 255, 0; 0, 1]
|
||||
[9.0, 1.0, 4.0, 1.0, 4.0, 2.0, 0.0, 0.0, 0, 0, 255; 1, 0]
|
||||
|
||||
Entities:
|
||||
[0.0, 14.0, 0.0, 2.0, 1.0, 2.0, 0.0, 0.0, 193, 192, 0, 1, 0, 4, 0.0, 5.0, 0.0, 4, 1, 45]
|
||||
|
||||
Weight :
|
||||
50
|
||||
|
||||
$
|
||||
entities:
|
||||
[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..]
|
||||
|
||||
if entityType = 4
|
||||
[.. amplitude_x, amplitude_y, amplitude_z, mult, divd]
|
||||
else
|
||||
[..]
|
|
@ -25,10 +25,3 @@ Weight :
|
|||
50
|
||||
|
||||
$
|
||||
entities:
|
||||
[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..]
|
||||
|
||||
if entityType = 4
|
||||
[.. amplitude_x, amplitude_y, amplitude_z, mult, divd]
|
||||
else
|
||||
[..]
|
|
@ -23,10 +23,3 @@ Weight :
|
|||
50
|
||||
|
||||
$
|
||||
entities:
|
||||
[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..]
|
||||
|
||||
if entityType = 4
|
||||
[.. amplitude_x, amplitude_y, amplitude_z, mult, divd]
|
||||
else
|
||||
[..]
|
|
@ -14,10 +14,3 @@ Weight :
|
|||
50
|
||||
|
||||
$
|
||||
entities:
|
||||
[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..]
|
||||
|
||||
if entityType = 4
|
||||
[.. amplitude_x, amplitude_y, amplitude_z, mult, divd]
|
||||
else
|
||||
[..]
|
|
@ -16,10 +16,3 @@ Weight :
|
|||
50
|
||||
|
||||
$
|
||||
entities:
|
||||
[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..]
|
||||
|
||||
if entityType = 4
|
||||
[.. amplitude_x, amplitude_y, amplitude_z, mult, divd]
|
||||
else
|
||||
[..]
|
Loading…
Reference in New Issue