summaryrefslogtreecommitdiffhomepage
path: root/src/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.c')
-rw-r--r--src/player.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/player.c b/src/player.c
index 56fdb98..681d6b0 100644
--- a/src/player.c
+++ b/src/player.c
@@ -39,7 +39,7 @@ static rodeo_audio_sound_t *bubbles_sound;
// 61 standing
// 20-60 mid iar
-static rodeo_collision_2d_world_t player_collision_world;
+static rodeo_collision_2d_world_t player_collision_world = {0};
static aim_position_t aim_position;
static float orc_size[] = {13.0f * 2.0f, 19.0f * 2.0f};
@@ -53,18 +53,16 @@ init_player(void)
player.aim_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/aim.png"));
player.heart_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/heart.png"));
player.sprite.config.texture = &player.texture;
- player_collision_world = rodeo_collision_2d_world_create();
+ //player_collision_world = rodeo_collision_2d_world_create();
+ //player_collision_world = (rodeo_collision_2d_world_t){0};
player.collision_id = rodeo_collision_2d_world_item_create(
&player_collision_world,
(rodeo_collision_2d_world_item_t){
- .x = 1600/2,
- .y = 900/2,
.width = orc_size[0],
.height = orc_size[1]
}
)->id;
player.sprite = (sprite_t){
- .iter = 60,
.config = {
.texture = &player.texture,
.width = 128,
@@ -72,12 +70,9 @@ init_player(void)
.count = 61
}
};
- player.hp = 100;
- player.weapon.cooldown = 0;
+ reset_player();
player.weapon.firerate = 0.1f;
player.weapon.spread = 0.425f;
- aim_position.x = 101;
- aim_position.y = 100;
player.damage_cooldown_rate = 1000.0f;
}
@@ -86,10 +81,26 @@ deinit_player(void)
{
rodeo_texture_2d_destroy(&player.texture);
rodeo_collision_2d_world_destroy(&player_collision_world);
+ //player_collision_world = (rodeo_collision_2d_world_t){0};
rodeo_audio_sound_destroy(bubbles_sound);
}
void
+reset_player(void)
+{
+ player.sprite.iter = 60;
+ player.hp = 100;
+ aim_position.x = 101;
+ aim_position.y = 100;
+ cvec_collision_2d_world_item_value *player_position = get_player_position();
+ player_position->dx = 0;
+ player_position->dy = 0;
+ player_position->x = 200;
+ player_position->y = 200;
+ player.weapon.cooldown = 0;
+}
+
+void
draw_player(void)
{
float transparency = 1.0f;
@@ -361,3 +372,8 @@ draw_aim(float player_x, float player_y, float scale)
);
}
+int32_t
+get_player_hp(void)
+{
+ return player.hp;
+}