int ShowSpline(int move_selected) { node_count=dock_moves_contains_steps[move_selected]; curviness = ftofix(spline_ratio[move_selected]); calc_tangents(); if(GotoMoves[move_selected][actual_step_node]==0 || index_move_back==1) { draw_splines(move_selected); }//l attribution des pas est fait dans drawsplines return(0); }
/* main program */ int main(void) { int c; if (allegro_init() != 0) return 1; install_keyboard(); install_mouse(); install_timer(); if (set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) != 0) { if (set_gfx_mode(GFX_SAFE, 640, 480, 0, 0) != 0) { set_gfx_mode(GFX_TEXT, 0, 0, 0, 0); allegro_message("Unable to set any graphic mode\n%s\n", allegro_error); return 1; } } set_palette(desktop_palette); input_nodes(); calc_tangents(); curviness = ftofix(0.25); show_tangents = FALSE; show_control_points = FALSE; draw_splines(); for (;;) { if (keypressed()) { c = readkey() >> 8; if (c == KEY_ESC) break; else if (c == KEY_UP) { curviness += ftofix(0.05); draw_splines(); } else if (c == KEY_DOWN) { curviness -= ftofix(0.05); draw_splines(); } else if (c == KEY_SPACE) { walk(); draw_splines(); } else if (c == KEY_T) { show_tangents = !show_tangents; draw_splines(); } else if (c == KEY_C) { show_control_points = !show_control_points; draw_splines(); } } } return 0; }