#include #include #include #include #include #include #include static teleport_t teleporteurs[6]={0}; // 6 max static int nombre_teleporteurs=0; // Nombre d'entités utilisés dans le niveau actuel void set_teleporteurs(teleport_t const * const t, int const n) { nombre_teleporteurs=0; if (t) { if (n>6) nombre_teleporteurs=6; else nombre_teleporteurs=n; if (nombre_teleporteurs) { memcpy(teleporteurs, t, sizeof(teleport_t)*n); } } } void teleport_active() { for (int i=0; i=8*t.y) { dclear(C_WHITE); world_draw(0,0); dupdate(); wait_next_frame(); // 10 fps wait_next_frame(); mario.p.y--; } } if (t.key==MK_RIGHT) { while (mario.p.x-mario.p.w<=8*t.x) { dclear(C_WHITE); world_draw(0,0); dupdate(); wait_next_frame(); // 10 fps wait_next_frame(); mario.p.x++; } } if (t.key==MK_LEFT) { while (mario.p.x+mario.p.w>=8*t.x) { dclear(C_WHITE); world_draw(0,0); dupdate(); wait_next_frame(); // 10 fps wait_next_frame(); mario.p.x--; } } ResetMarioJump(); mario.p.x=t.tx*8+4; mario.p.y=t.ty*8; // Move Mario mario.p.vx=0; mario.p.vy=0; // Disables every move of mario camera_adjust(); } } }