diff options
| author | realtradam <[email protected]> | 2023-05-27 18:17:05 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-05-27 18:17:05 -0400 |
| commit | adbd4bf423647fbab111434b08058c3c130df020 (patch) | |
| tree | 0e2da07207814d444d63783b2e18f2186d45bcbc | |
| parent | 6a6a9ff8f989896fa7af7132d50b116a07e6b44c (diff) | |
| download | TOJam2023-adbd4bf423647fbab111434b08058c3c130df020.tar.gz TOJam2023-adbd4bf423647fbab111434b08058c3c130df020.zip | |
centered target sprite
| -rw-r--r-- | assets/aim.png | bin | 0 -> 5052 bytes | |||
| -rw-r--r-- | assets/aim.xcf | bin | 0 -> 12838 bytes | |||
| -rw-r--r-- | src/player.c | 35 | ||||
| -rw-r--r-- | src/player.h | 17 | ||||
| -rw-r--r-- | src/sprite.c | 4 |
5 files changed, 54 insertions, 2 deletions
diff --git a/assets/aim.png b/assets/aim.png Binary files differnew file mode 100644 index 0000000..90a92e8 --- /dev/null +++ b/assets/aim.png diff --git a/assets/aim.xcf b/assets/aim.xcf Binary files differnew file mode 100644 index 0000000..b852969 --- /dev/null +++ b/assets/aim.xcf diff --git a/src/player.c b/src/player.c index 55c6d38..e45b652 100644 --- a/src/player.c +++ b/src/player.c @@ -11,6 +11,7 @@ struct player_t { sprite_t sprite; rodeo_texture_2d_t texture; + rodeo_texture_2d_t aim_texture; int32_t hp; float damage_timer; //ms world_id collision_id; @@ -18,11 +19,14 @@ struct player_t } player; +typedef struct player_t player_t; + // 0-19 jumping // 61 standing // 20-60 mid iar static rodeo_collision_2d_world_t player_collision_world; +static aim_position_t aim_position; static float orc_size[] = {13.0f * 2.0f, 19.0f * 2.0f}; @@ -30,6 +34,7 @@ void init_player(void) { player.texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/mainblob-128.png")); + player.aim_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/aim.png")); player.sprite.config.texture = &player.texture; player_collision_world = rodeo_collision_2d_world_create(); player.collision_id = rodeo_collision_2d_world_item_create( @@ -51,6 +56,8 @@ init_player(void) } }; player.hp = 100; + aim_position.x = 101; + aim_position.y = 100; } void @@ -64,6 +71,7 @@ void draw_player(void) { cvec_collision_2d_world_item_value *player_position = rodeo_collision_2d_world_item_get_by_id(player.collision_id); + draw_aim(player_position->x, player_position->y, 0.25f); draw_sprite(&player.sprite, player_position->x, player_position->y, 0.25f); /* cvec_collision_2d_world_item_value *player = rodeo_collision_2d_world_item_get_by_id(player_collision_id); @@ -132,6 +140,7 @@ move_player(void) player_position->dx = 0; player_position->y += player_position->dy * ((60.0f - (float)player.sprite.iter) / 60.0f); player_position->dy = 0; + update_aim_position(); } void @@ -243,3 +252,29 @@ get_player_position(void) { return rodeo_collision_2d_world_item_get_by_id(player.collision_id); } + +void +update_aim_position(void) +{ + +} + +void +draw_aim(float player_x, float player_y, float scale) +{ + rodeo_texture_2d_draw( + &(rodeo_rectangle_t){ + //.x = player_x - (((128.0f * scale) * 1.3f) - (128.0f * scale) ), + .x = player_x - (((128.0f * scale) * 0.6f) / 2), + .y = player_y + ((((44.0f) * scale) * 0.6f) / 2) + (80.0f * scale), + .width = (128 * scale) * 1.6f, + .height = (44 * scale) * 1.6f, + }, + &(rodeo_rectangle_t){ + .width = 128, + .height = 44, + }, + &(rodeo_color_RGBAFloat_t){ .array = {0.9f,0.9f,0.9f,1.0} }, + &player.aim_texture + ); +} diff --git a/src/player.h b/src/player.h index fa010eb..45c81b1 100644 --- a/src/player.h +++ b/src/player.h @@ -13,6 +13,15 @@ enum } move_state_t; +typedef +struct +{ + float x; + float y; +} +aim_position_t; + + void init_player(void); @@ -39,3 +48,11 @@ detect_player_wall_collisions(void); cvec_collision_2d_world_item_value * get_player_position(void); + +void +update_aim_position(void); + +void +draw_aim(float player_x, float player_y, float scale); + + diff --git a/src/sprite.c b/src/sprite.c index c1c88f6..41ed692 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -7,8 +7,8 @@ draw_sprite(sprite_t *sprite, float x, float y, float scale) { rodeo_texture_2d_draw( &(rodeo_rectangle_t){ - .x = x - ((float)sprite->config.width * scale / 2), - .y = y - ((float)sprite->config.height * scale / 2), + .x = x, + .y = y, .width = (float)sprite->config.width * scale, .height = (float)sprite->config.height * scale }, |
