diff options
| author | arngo <[email protected]> | 2023-05-30 03:15:37 -0400 |
|---|---|---|
| committer | arngo <[email protected]> | 2023-05-30 03:15:37 -0400 |
| commit | 10828e927120cc83ff25cd6fe7fb2267781a6242 (patch) | |
| tree | d7bea9782e131b59a22579fc11aa232aba01b674 /src | |
| parent | 16700c6660d2a3d06792a4f3177c1b28d5d3a573 (diff) | |
| download | TOJam2023-10828e927120cc83ff25cd6fe7fb2267781a6242.tar.gz TOJam2023-10828e927120cc83ff25cd6fe7fb2267781a6242.zip | |
fix player moving into wall
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 19 | ||||
| -rw-r--r-- | src/player.c | 20 |
2 files changed, 21 insertions, 18 deletions
@@ -29,7 +29,6 @@ main_loop(void) mrodeo_frame_do() { parse_player_input(); - move_player(); if(*(bool*)play_sound_input(NULL, NULL)) { @@ -44,25 +43,28 @@ main_loop(void) rodeo_audio_music_stop_fadeOut(1000); } - //player_shoot(get_player_bullet_world()); - //enemies_attempt_weapon_fire(); - //attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height }); + player_shoot(get_player_bullet_world()); + enemies_attempt_weapon_fire(); + attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height }); - move_bullets(); - move_enemies(); group_follow_target(get_player_position()); + draw_level(); draw_bullets(); draw_player(); draw_enemies(); draw_hp_bar(); + detect_bullet_enemy_collisions(); detect_bullet_wall_collisions(); - //detect_player_enemy_collisions(); + detect_player_enemy_collisions(); detect_player_wall_collisions(); detect_enemy_wall_collisions(); - /* + move_bullets(); + move_enemies(); + move_player(); + rodeo_debug_text_draw( 1, 1, @@ -85,7 +87,6 @@ main_loop(void) " fps: %.2f ", time_var ); - */ } } diff --git a/src/player.c b/src/player.c index ae85b65..b471fbf 100644 --- a/src/player.c +++ b/src/player.c @@ -62,7 +62,7 @@ init_player(void) } )->id; player.sprite = (sprite_t){ - .iter = 0, + .iter = 60, .config = { .texture = &player.texture, .width = 128, @@ -147,10 +147,12 @@ parse_player_input(void) // if you arent mid jump, then record attempted movement if(player.move_state != mv_state_jumping) { - player_position->dx = *(float*)units_move_right_input(NULL, NULL) + *(float*)units_move_left_input(NULL, NULL); - player_position->dy = *(float*)units_move_down_input(NULL, NULL) + *(float*)units_move_up_input(NULL, NULL); + float input_lr = (*(float*)units_move_right_input(NULL, NULL) + *(float*)units_move_left_input(NULL, NULL)); + float input_ud = (*(float*)units_move_down_input(NULL, NULL) + *(float*)units_move_up_input(NULL, NULL)); + player_position->dx = input_lr * (rodeo_frame_time_get() / (1000.0f/60.0f) * ((60.0f - (float)player.sprite.iter) / 60.0f)); + player_position->dy = input_ud * (rodeo_frame_time_get() / (1000.0f/60.0f) * ((60.0f - (float)player.sprite.iter) / 60.0f)); - if(((player_position->dy != 0) || (player_position->dx != 0)) && player.move_state == mv_state_standing) + if(((input_lr != 0) || (input_ud != 0)) && player.move_state == mv_state_standing) { player.move_state = mv_state_jumping; player_position->dy = 0; @@ -159,10 +161,11 @@ parse_player_input(void) } } + + void move_player(void) { - /* if(player.move_state != mv_state_standing) { player.sprite.iter += 1; @@ -180,12 +183,11 @@ move_player(void) { rodeo_audio_sound_play(bubbles_sound); } - */ - player.move_state = mv_state_mid_air; + cvec_collision_2d_world_item_value *player_position = rodeo_collision_2d_world_item_get_by_id(player.collision_id); - player_position->x += player_position->dx * rodeo_frame_time_get() / (1000.0f/60.0f) * ((60.0f - (float)player.sprite.iter) / 60.0f); + player_position->x += player_position->dx; player_position->dx = 0; - player_position->y += player_position->dy * rodeo_frame_time_get() / (1000.0f/60.0f) * ((60.0f - (float)player.sprite.iter) / 60.0f); + player_position->y += player_position->dy; player_position->dy = 0; update_aim_position(); } |
