expose wasm collisions
This commit is contained in:
parent
3a8f7f785f
commit
1505f71328
31
app.c
31
app.c
|
@ -138,6 +138,7 @@ typedef struct Collision {
|
|||
|
||||
#define NB_COLLISIONS 10
|
||||
Collision collisions[NB_COLLISIONS] = {};
|
||||
int nb_collisions = 0;
|
||||
|
||||
Collision collision_union(Collision rec1, Collision rec2)
|
||||
{
|
||||
|
@ -190,6 +191,21 @@ Collision collision_rec(Collision fix, int i, int scale)
|
|||
return col;
|
||||
}
|
||||
|
||||
void reset_collisions()
|
||||
{
|
||||
nb_collisions = 0;
|
||||
}
|
||||
void add_collisions(int x, int y, int width, int height)
|
||||
{
|
||||
if (nb_collisions >= NB_COLLISIONS) return;
|
||||
collisions[nb_collisions++] = (Collision) {
|
||||
.x = x,
|
||||
.y = y,
|
||||
.width = width,
|
||||
.height = height,
|
||||
};
|
||||
}
|
||||
|
||||
void set_velocity(float x, float y)
|
||||
{
|
||||
velocity = (v2){x, y};
|
||||
|
@ -235,32 +251,31 @@ int collision(v2 point, int x, int y, int w, int h)
|
|||
void init()
|
||||
{
|
||||
pengers_init();
|
||||
int col_id = 0;
|
||||
collisions[col_id++] = (Collision) {
|
||||
collisions[nb_collisions++] = (Collision) {
|
||||
.x = 100,
|
||||
.y = 400,
|
||||
.width = 50,
|
||||
.height = 100,
|
||||
};
|
||||
collisions[col_id++] = (Collision) {
|
||||
collisions[nb_collisions++] = (Collision) {
|
||||
.x = 150,
|
||||
.y = 450,
|
||||
.width = 500,
|
||||
.height = 50,
|
||||
};
|
||||
collisions[col_id++] = (Collision) {
|
||||
collisions[nb_collisions++] = (Collision) {
|
||||
.x = 650,
|
||||
.y = 400,
|
||||
.width = 50,
|
||||
.height = 100,
|
||||
};
|
||||
collisions[col_id++] = (Collision) {
|
||||
collisions[nb_collisions++] = (Collision) {
|
||||
.x = 280,
|
||||
.y = 200,
|
||||
.width = 75,
|
||||
.height = 75,
|
||||
};
|
||||
collisions[col_id++] = (Collision) {
|
||||
collisions[nb_collisions++] = (Collision) {
|
||||
.x = 445,
|
||||
.y = 200,
|
||||
.width = 75,
|
||||
|
@ -340,7 +355,7 @@ void draw(float dt)
|
|||
|
||||
rebondi(&penger_pos, scale);
|
||||
|
||||
for (int i = 0; i < NB_COLLISIONS; i++) {
|
||||
for (int i = 0; i < nb_collisions; i++) {
|
||||
Collision col = collision_rec(collisions[i], i, scale);
|
||||
x_collide = x_collide || (col.height > 1);
|
||||
}
|
||||
|
@ -403,7 +418,7 @@ void draw(float dt)
|
|||
}
|
||||
|
||||
// draw collisions box
|
||||
for (int i = 0; i < NB_COLLISIONS; i++) {
|
||||
for (int i = 0; i < nb_collisions; i++) {
|
||||
for (int y = collisions[i].y; y < collisions[i].y + collisions[i].height; y++) {
|
||||
for (int x = collisions[i].x; x < collisions[i].x + collisions[i].width; x++) {
|
||||
if ((y/2 + x/3)%8 < 4)
|
||||
|
|
4
build.sh
4
build.sh
|
@ -5,7 +5,7 @@ if [[ "$1" == "clear" ]]; then
|
|||
exit
|
||||
fi;
|
||||
|
||||
export_sym="init draw key_pressed key_released set_velocity set_mouse get_pos_x get_pos_y draw_player deco_player BUFFER width height id nb_players dir"
|
||||
export_sym="init draw key_pressed key_released set_velocity set_mouse get_pos_x get_pos_y draw_player deco_player reset_collisions add_collisions BUFFER width height id nb_players dir"
|
||||
export_cmd=""
|
||||
for e in $export_sym; do
|
||||
export_cmd="$export_cmd -Wl,--export=$e";
|
||||
|
@ -31,7 +31,7 @@ id=0
|
|||
for p in $(ls museum); do
|
||||
file=$(echo $p | sed "s/\.png$//g")
|
||||
./png2c "museum/"$p $id > museum.c/$file.c
|
||||
pengers_html+=$' <img src="museum/'$p'" class="penger-img" penger-id="'$id'"></img>\n'
|
||||
pengers_html+=$' <img src="museum/'$p'" class="penger-img" penger-id="'$id'"></img>\n'
|
||||
pengers_include+='#include "museum.c/'$file$'.c"\n'
|
||||
((id=id+1))
|
||||
done
|
||||
|
|
1
load.js
1
load.js
|
@ -50,7 +50,6 @@ const connection = new WebSocket(document.URL.replace('http', 'ws').replace('696
|
|||
connection.onopen = (e) => { console.log("connection to server opened"); };
|
||||
connection.onmessage = (e) => {
|
||||
var req = JSON.parse(e.data);
|
||||
console.log(req);
|
||||
if (req.name == 'pseudo') {
|
||||
if (req.value != "") is_connected = true;
|
||||
document.getElementById('players').innerHTML = req.value;
|
||||
|
|
Loading…
Reference in New Issue