static int play_loop_buttn(int b, int d) { if (d == 1) { if (config_tst_d(CONFIG_JOYSTICK_BUTTON_START, b)) goto_state(&st_pause); if (config_tst_d(CONFIG_JOYSTICK_BUTTON_R1, b)) rot_set(DIR_R, 1.0f, 0); if (config_tst_d(CONFIG_JOYSTICK_BUTTON_L1, b)) rot_set(DIR_L, 1.0f, 0); if (config_tst_d(CONFIG_JOYSTICK_BUTTON_L2, b)) fast_rotate = 1; buttn_camera(b); } else { if (config_tst_d(CONFIG_JOYSTICK_BUTTON_R1, b)) rot_clr(DIR_R); if (config_tst_d(CONFIG_JOYSTICK_BUTTON_L1, b)) rot_clr(DIR_L); if (config_tst_d(CONFIG_JOYSTICK_BUTTON_L2, b)) fast_rotate = 0; } return 1; }
static void play_loop_point(int id, int x, int y, int dx, int dy) { hittest = hud_hit_test(x, y); if (!hittest && clickdown) { float r = 1.0f - (((float)x / video.device_w) * 2.0f); if (r > 0.0f) rot_set(DIR_R, +r, 1); else if (r < 0.0f) rot_set(DIR_L, -r, 1); else rot_clr(DIR_L | DIR_R); } //game_set_pos(dx, dy); }
static void play_loop_stick(int id, int a, float v, int bump) { if (config_tst_d(CONFIG_JOYSTICK_AXIS_X0, a)) game_set_z(v); if (config_tst_d(CONFIG_JOYSTICK_AXIS_Y0, a)) game_set_x(v); if (config_tst_d(CONFIG_JOYSTICK_AXIS_X1, a)) { if (v > 0.0f) rot_set(DIR_R, +v, 1); else if (v < 0.0f) rot_set(DIR_L, -v, 1); else rot_clr(DIR_R | DIR_L); } }
static int play_loop_keybd(int c, int d) { if (d) { if (config_tst_d(CONFIG_KEY_CAMERA_R, c)) rot_set(DIR_R, 1.0f, 0); if (config_tst_d(CONFIG_KEY_CAMERA_L, c)) rot_set(DIR_L, 1.0f, 0); if (config_tst_d(CONFIG_KEY_ROTATE_FAST, c)) fast_rotate = 1; keybd_camera(c); if (config_tst_d(CONFIG_KEY_RESTART, c) && progress_same_avail()) { if (progress_same()) goto_state(&st_play_ready); } if (c == KEY_EXIT) goto_state(&st_pause); } else { if (config_tst_d(CONFIG_KEY_CAMERA_R, c)) rot_clr(DIR_R); if (config_tst_d(CONFIG_KEY_CAMERA_L, c)) rot_clr(DIR_L); if (config_tst_d(CONFIG_KEY_ROTATE_FAST, c)) fast_rotate = 0; } if (d && c == KEY_LOOKAROUND && config_cheat()) return goto_state(&st_look); if (d && c == KEY_POSE) show_hud = !show_hud; if (d && c == SDLK_c && config_cheat()) { progress_stat(GAME_GOAL); return goto_state(&st_goal); } return 1; }
static int play_loop_click(int b, int d) { if (d) { if (config_tst_d(CONFIG_MOUSE_CAMERA_R, b)) rot_set(DIR_R, 1.0f, 0); if (config_tst_d(CONFIG_MOUSE_CAMERA_L, b)) rot_set(DIR_L, 1.0f, 0); click_camera(b); } else { if (config_tst_d(CONFIG_MOUSE_CAMERA_R, b)) rot_clr(DIR_R); if (config_tst_d(CONFIG_MOUSE_CAMERA_L, b)) rot_clr(DIR_L); } return 1; }