completed level_02
This commit is contained in:
parent
c46555e108
commit
89ac335034
|
@ -17,14 +17,22 @@ Blocks :
|
||||||
[ 10.0, 18.0, -36.0, 20.0, 2.0, 4.0, 0.0, 0.0, 192, 192, 192]
|
[ 10.0, 18.0, -36.0, 20.0, 2.0, 4.0, 0.0, 0.0, 192, 192, 192]
|
||||||
[ 28.0, 30.0, -36.0, 4.0, 2.0, 4.0, 0.0, 0.0, 32, 192, 32] // cp3
|
[ 28.0, 30.0, -36.0, 4.0, 2.0, 4.0, 0.0, 0.0, 32, 192, 32] // cp3
|
||||||
|
|
||||||
|
[32.0, 30.0, -35.0, 6.0, 2.0, 2.0, 0.0, 0.0, 192, 192, 192] // 4 - support
|
||||||
|
[42.0, 34.0, -35.0, 2.0, 2.0, 8.0, 0.0, 0.0, 192, 192, 192]
|
||||||
|
[42.0, 34.0, -19.0, 2.0, 2.0, 8.0, 0.0, 0.0, 192, 192, 192]
|
||||||
|
[42.0, 34.0, -3.0, 2.0, 2.0, 8.0, 0.0, 0.0, 192, 192, 192]
|
||||||
|
[30.0, 38.0, 3.0, 6.0, 2.0, 2.0, 0.0, 0.0, 192, 192, 192]
|
||||||
|
[7.0, 44.0, 2.0, 4.0, 1.0, 4.0, 0.0, 0.0, 32, 192, 32] // cp4
|
||||||
|
|
||||||
Entities:
|
Entities:
|
||||||
[8.0, 1.0 , 8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 128, 1, 0, 8, 100, 1, 128, 128, 128]
|
[8.0, 1.0 , 8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 128, 1, 0, 8, 100, 1, 128, 128, 128]
|
||||||
[-8.0, 1.0, 8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 255, 1, 0, 6, get over it, 192, 192, 192]
|
[-8.0, 1.0, 8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 255, 1, 0, 6, get over it, 192, 192, 192]
|
||||||
[8.5, 1.5 , 8.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 7, levels/level_01/, 7, great, 192, 192, 192]
|
[8.5, 1.5 , 8.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 7, levels/level_01/, 7, great, 192, 192, 192]
|
||||||
|
|
||||||
[-3.5, 13.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 128, 10, 0, 0] // cp1 coin
|
[-3.5, 13.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 128, 10, 0, 0] // cp1 coin
|
||||||
[-3.5, 23.0, -15.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 128, 10, 0, 0] // cp2 coin
|
[-3.5, 23.0, -15.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 128, 20, 0, 0] // cp2 coin
|
||||||
[29.5, 33.0, -34.0, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 10, 0, 0] // cp3 coin
|
[29.5, 33.0, -34.0, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 30, 0, 0] // cp3 coin
|
||||||
|
[ 8.5, 47.0, 3.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 40, 0, 0] // cp4 coin
|
||||||
|
|
||||||
|
|
||||||
[-4.0, 0.0, -13.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 255, 1, 0, 9, 1.4, 1.4, 0] // 1-1
|
[-4.0, 0.0, -13.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 255, 1, 0, 9, 1.4, 1.4, 0] // 1-1
|
||||||
|
@ -105,6 +113,16 @@ Entities:
|
||||||
[ 20.0, 28.0, -35.0, 2.0, 2.0, 2.0, 0.71, 0.0, 255, 255, 255, 1, 0, 12, 6, 0]
|
[ 20.0, 28.0, -35.0, 2.0, 2.0, 2.0, 0.71, 0.0, 255, 255, 255, 1, 0, 12, 6, 0]
|
||||||
[ 21.5, 30.0, -35.0, 2.0, 2.0, 2.0, 0.71, 0.0, 255, 255, 255, 1, 0, 12, 7, 0]
|
[ 21.5, 30.0, -35.0, 2.0, 2.0, 2.0, 0.71, 0.0, 255, 255, 255, 1, 0, 12, 7, 0]
|
||||||
|
|
||||||
|
|
||||||
|
[38.0, 32.0, -35.0, 2.0, 2.0, 2.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5] // 4 - math
|
||||||
|
[42.0, 34.0, -24.0, 2.0, 2.0, 2.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
[42.0, 34.0, -8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
[38.0, 36.0, 3.0, 2.0, 2.0, 2.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
[26.0, 40.0, 3.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
[22.0, 41.0, 3.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
[18.0, 42.0, 3.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
[14.0, 43.0, 3.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 13, 0, 3.5]
|
||||||
|
|
||||||
Weight :
|
Weight :
|
||||||
0
|
0
|
||||||
|
|
||||||
|
|
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/move.o
BIN
obj/move.o
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
|
@ -182,6 +182,10 @@ void math_block(double x, double y, double z, double w, double h, double d, doub
|
||||||
if(ent->metad1 > -0.9) {
|
if(ent->metad1 > -0.9) {
|
||||||
ent->metad1 = maxd(ent->metad1 - (double)dtime, 0.0);
|
ent->metad1 = maxd(ent->metad1 - (double)dtime, 0.0);
|
||||||
}
|
}
|
||||||
|
if(mathResult == FAILURE && ent->metad1 > 0.1) {
|
||||||
|
mathResult = IDLE;
|
||||||
|
ent->metad1 = 0.1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void active_math(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) {
|
void active_math(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) {
|
||||||
|
|
|
@ -147,7 +147,7 @@ void init_ent_generator(int n) {
|
||||||
hashtbl_entities[12].onDeath = NULL;
|
hashtbl_entities[12].onDeath = NULL;
|
||||||
|
|
||||||
hashtbl_entities[13].id = 13;
|
hashtbl_entities[13].id = 13;
|
||||||
hashtbl_entities[13].tex = 7;
|
hashtbl_entities[13].tex = 12;
|
||||||
hashtbl_entities[13].tex2 = 9;
|
hashtbl_entities[13].tex2 = 9;
|
||||||
hashtbl_entities[13].name = "mathBlock";
|
hashtbl_entities[13].name = "mathBlock";
|
||||||
hashtbl_entities[13].updatePos = &math_block;
|
hashtbl_entities[13].updatePos = &math_block;
|
||||||
|
@ -619,6 +619,12 @@ void parse_one_room(int id, char* filename) {
|
||||||
pool[id].area->ents[k]->metai1 = defaultState;
|
pool[id].area->ents[k]->metai1 = defaultState;
|
||||||
pool[id].area->ents[k]->metad1 = 0.0;
|
pool[id].area->ents[k]->metad1 = 0.0;
|
||||||
pool[id].area->ents[k]->metad2 = activeTime;
|
pool[id].area->ents[k]->metad2 = activeTime;
|
||||||
|
|
||||||
|
if(defaultState == 0) {
|
||||||
|
pool[id].area->ents[k]->tex2 = 8;
|
||||||
|
} else {
|
||||||
|
pool[id].area->ents[k]->tex2 = 9;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
pool[id].area->ents[k]->metai3 = 0;
|
pool[id].area->ents[k]->metai3 = 0;
|
||||||
}
|
}
|
||||||
|
|
24
src/main.c
24
src/main.c
|
@ -9,6 +9,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <glad/glad.h>
|
#include <glad/glad.h>
|
||||||
#include <GLFW/glfw3.h>
|
#include <GLFW/glfw3.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
#ifndef STB_IMAGE_IMPLEMENTATION
|
#ifndef STB_IMAGE_IMPLEMENTATION
|
||||||
#define STB_IMAGE_IMPLEMENTATION
|
#define STB_IMAGE_IMPLEMENTATION
|
||||||
|
@ -523,6 +524,7 @@ int main_alt() {
|
||||||
generate_texture_2D(9, "res/sq_dotted.png", PNG);
|
generate_texture_2D(9, "res/sq_dotted.png", PNG);
|
||||||
generate_texture_2D(10, "res/button_on.png", PNG);
|
generate_texture_2D(10, "res/button_on.png", PNG);
|
||||||
generate_texture_2D(11, "res/button_off.jpg", JPG);
|
generate_texture_2D(11, "res/button_off.jpg", JPG);
|
||||||
|
generate_texture_2D(12, "res/pi.png", PNG);
|
||||||
|
|
||||||
printf("-----------------------------------------------------------------------------------------------\n"); fflush(stdout);
|
printf("-----------------------------------------------------------------------------------------------\n"); fflush(stdout);
|
||||||
|
|
||||||
|
@ -595,6 +597,7 @@ int main_alt() {
|
||||||
|
|
||||||
int fps = 90;
|
int fps = 90;
|
||||||
int interval = 1000000/fps;
|
int interval = 1000000/fps;
|
||||||
|
float interval_s = 1.0f/fps;
|
||||||
double slp_time = 1.0/fps;
|
double slp_time = 1.0/fps;
|
||||||
|
|
||||||
float delta = 0.0f;
|
float delta = 0.0f;
|
||||||
|
@ -604,16 +607,19 @@ int main_alt() {
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|
||||||
clock_t finish = clock();
|
struct timeval ogn, fnn;
|
||||||
clock_t origin = clock();
|
gettimeofday(&ogn, NULL);
|
||||||
|
gettimeofday(&fnn, NULL);
|
||||||
|
|
||||||
loc_tex = glGetUniformLocation(shaderProgram, "tex0");
|
loc_tex = glGetUniformLocation(shaderProgram, "tex0");
|
||||||
glUseProgram(shaderProgram);
|
glUseProgram(shaderProgram);
|
||||||
glUniform1i(loc_tex, 0);
|
glUniform1i(loc_tex, 0);
|
||||||
|
|
||||||
mathSignal = true;
|
mathSignal = true;
|
||||||
|
float calc_T = 0.0f;
|
||||||
|
|
||||||
while(!glfwWindowShouldClose(window) && player_hp > 0) {
|
while(!glfwWindowShouldClose(window) && player_hp > 0) {
|
||||||
|
gettimeofday(&ogn, NULL);
|
||||||
// input
|
// input
|
||||||
// -----
|
// -----
|
||||||
glClearColor(0.05f, 0.05f, 0.05f, 1.0f);
|
glClearColor(0.05f, 0.05f, 0.05f, 1.0f);
|
||||||
|
@ -679,9 +685,10 @@ int main_alt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
finish = clock();
|
gettimeofday(&fnn, NULL);
|
||||||
usleep(max(0, interval-(int)(1000000*delta)));
|
calc_T = (float)((fnn.tv_sec-ogn.tv_sec + (fnn.tv_usec-ogn.tv_usec)/1000000.0f));
|
||||||
sim_time += deltad;
|
usleep(max(0, interval-(int)(1000000*calc_T)));
|
||||||
|
sim_time += interval_s + maxd(0.0, (double)(interval_s-(calc_T)));
|
||||||
|
|
||||||
// glfw: swap buffers and poll IO events (keys pressed/released, mouse moved etc.)
|
// glfw: swap buffers and poll IO events (keys pressed/released, mouse moved etc.)
|
||||||
glfwSwapBuffers(window);
|
glfwSwapBuffers(window);
|
||||||
|
@ -692,12 +699,11 @@ int main_alt() {
|
||||||
lastDmg = player_hp;
|
lastDmg = player_hp;
|
||||||
dmgCD = 0.5f;
|
dmgCD = 0.5f;
|
||||||
}
|
}
|
||||||
delta = (float)slp_time;//+((float)finish - (float)origin)/CLOCKS_PER_SEC;
|
delta = (float)(interval_s + maxf(0.0f, interval_s-(calc_T)));
|
||||||
deltad = slp_time;//+((double)finish - (double)origin)/CLOCKS_PER_SEC;
|
deltad = (double)delta;
|
||||||
if(count%(fps/10)==0) {
|
if(count%(fps/10)==0) {
|
||||||
real_T = ((float)finish - (float)origin)/CLOCKS_PER_SEC;
|
real_T = (float)((fnn.tv_sec-ogn.tv_sec + (fnn.tv_usec-ogn.tv_usec)/1000000.0f));
|
||||||
}
|
}
|
||||||
origin = clock();
|
|
||||||
incr = 0.0f;
|
incr = 0.0f;
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
|
|
|
@ -23,7 +23,7 @@ double speed = 6.0;
|
||||||
double vtmult = 2.25;
|
double vtmult = 2.25;
|
||||||
double min_dist = 0.4;
|
double min_dist = 0.4;
|
||||||
double friction = 0.3;
|
double friction = 0.3;
|
||||||
double gravity_factor = 25.0;
|
double gravity_factor = 26.0;
|
||||||
// ---------------------------------------------------------------------------------------------------- //
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
bool is_clipping = false;
|
bool is_clipping = false;
|
||||||
|
|
Loading…
Reference in New Issue