summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/asset_defs.c16
-rw-r--r--src/guns.c11
-rw-r--r--src/players.c74
3 files changed, 27 insertions, 74 deletions
diff --git a/src/asset_defs.c b/src/asset_defs.c
index ac414e2..24491fa 100644
--- a/src/asset_defs.c
+++ b/src/asset_defs.c
@@ -16,6 +16,8 @@ void load_assets() {
fnt_20 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 20);
fnt_16 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 16);
fnt_12 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 12);
+ fnt_8 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 8);
+ fnt_4 = assets_load_font(Aleo_Regular, Aleo_Regular + Aleo_Regular_Size, 4);
// Icons
img_icon_bullets = assets_load_image_from_file("data/imgs/bullets.png");
@@ -45,8 +47,8 @@ void load_assets() {
img_metal_wall2 = assets_load_image_from_file("data/imgs/objects/metal_wall2.png");
// Players
- img_helmet = assets_load_image_from_file("data/imgs/players/helmet.png");
- img_body = assets_load_image_from_file("data/imgs/players/body.png");
+ img_gunner_blue_run = assets_load_image_from_file("data/imgs/players/Blue/Gunner_Blue_Run.png");
+ img_gunner_blue_idle = assets_load_image_from_file("data/imgs/players/Blue/Gunner_Blue_Idle.png");
img_alien_run = assets_load_image_from_file("data/imgs/players/alien_run.png");
// Guns
@@ -94,13 +96,17 @@ font* get_font(platform_window* window, float scale) {
float window_scale = window->width / 800.0f;
float diff = window_scale - 1.0f;
- int index_of_original = (int)(scale / 0.2f);
- int index_to_return = index_of_original + (int)(diff/0.2f);
+ float step = 1/5.0f;
+
+ int index_of_original = (int)(scale / step);
+ int index_to_return = index_of_original + (int)(diff/step);
if (index_to_return < 0) index_to_return = 0;
- if (index_to_return > 10) index_to_return = 10;
+ if (index_to_return > 12) index_to_return = 12;
font* arr[] = {
+ fnt_4,
+ fnt_8,
fnt_12, // scale = 0.2
fnt_16,
fnt_20,
diff --git a/src/guns.c b/src/guns.c
index 78d917c..66fb1c1 100644
--- a/src/guns.c
+++ b/src/guns.c
@@ -6,16 +6,7 @@ gun get_gun_by_type(gun_type type) {
}
float get_gun_size(gun_type type) {
- switch (type)
- {
- case GUN_NOVA: return 1.5f; break;
- case GUN_MP5: return 1.5f; break;
-
- default:
- break;
- }
-
- return 0;
+ return 0.5f;
}
image* get_image_of_gun(gun_type type) {
diff --git a/src/players.c b/src/players.c
index 302c535..0f6087c 100644
--- a/src/players.c
+++ b/src/players.c
@@ -10,7 +10,7 @@ float get_bullet_size(platform_window* window) {
}
float get_player_size_in_tile() {
- return 0.8f;
+ return 1.5f;
}
float get_player_size(platform_window* window) {
@@ -59,7 +59,9 @@ void spawn_player(u32 id, network_client client) {
players[i].guntype = GUN_MP5;
players[i].height = 0.0f;
players[i].client = client;
- players[i].sprite = create_sprite(img_body, 4, 256, 256, 0.0f);
+ players[i].sprite = create_sprite(img_gunner_blue_run, 6, 48, 48, 0.1f);
+ players[i].sprite.zoom = 1.1f;
+
players[i].gun_sprite = create_sprite(img_gun_mp5, 4, 256, 256, 0.0f);
players[i].direction = DIRECTION_DOWN;
players[i].connection_state = CONNECTED;
@@ -466,75 +468,29 @@ void draw_player(platform_window* window, player* p, int index) {
float player_render_x = player_pos.x;
float player_render_y = player_pos.y;
- vec2f gun_pos = world_pos_to_screen_pos(window, p->gunx - (p->dirx*GUN_OFFSET_FROM_PLAYER), p->guny - (p->diry*GUN_OFFSET_FROM_PLAYER), p->gun_height);
- float gun_size = info.tile_width * get_gun_size(p->guntype);
-
- // Gun
+ // Body
{
- gun_pos.x -= gun_size/2;
- gun_pos.y -= gun_size/2;
-
+ sprite_frame frame = sprite_get_frame(img_gunner_blue_run, &p->sprite);
float rads = -atan2(p->diry, p->dirx);
- renderer->render_set_rotation(-rads);
-
- vec2f tl = (vec2f){0.0f, 0.0f}, tr = (vec2f){1.0f, 0.0f}, bl = (vec2f){0.0f, 1.0f}, br = (vec2f){1.0f, 1.0f};
if (rads > M_PI/2 || rads < -M_PI/2) {
- tl = (vec2f){1.0f, 0.0f};
- tr = (vec2f){0.0f, 0.0f};
- bl = (vec2f){1.0f, 1.0f};
- br = (vec2f){0.0f, 1.0f};
-
- renderer->render_set_rotation(-rads+M_PI);
+ frame = sprite_swap_frame_horizontally(frame);
}
-
- image* gun_img = get_image_of_gun(p->guntype);
- renderer->render_image_quad_partial(gun_img,
- gun_pos.x, gun_pos.y,
- gun_pos.x, gun_pos.y + gun_size,
- gun_pos.x + gun_size, gun_pos.y + gun_size,
- gun_pos.x + gun_size, gun_pos.y,
- tl, tr, bl, br);
-
- renderer->render_set_rotation(0.0f);
- }
-
- // Body
- {
- sprite_frame frame = sprite_get_frame(img_body, &p->sprite);
- renderer->render_image_quad_partial(img_body,
+
+ renderer->render_image_quad_partial(img_gunner_blue_run,
player_render_x, player_render_y,
player_render_x, player_render_y + size,
player_render_x + size, player_render_y + size,
player_render_x + size, player_render_y,
frame.tl, frame.tr, frame.bl, frame.br);
-
- renderer->render_image_quad_partial_tint(img_body,
- player_render_x, player_render_y,
- player_render_x, player_render_y + size,
- player_render_x + size, player_render_y + size,
- player_render_x + size, player_render_y,
- frame.tl, frame.tr, frame.bl, frame.br, get_color_tint_by_player_index(index));
- }
-
- player_render_y -= size*0.7;
-
- // Helmet
- {
- float rads = atan2(p->diry, p->dirx);
- renderer->render_set_rotation(rads + M_PI);
- renderer->render_image(img_helmet, player_render_x, player_render_y, size, size);
- renderer->render_image_tint(img_helmet,
- player_render_x, player_render_y,
- size, size, get_color_tint_by_player_index(index));
- renderer->render_set_rotation(0.0f);
}
- int name_x = player_render_x + (size)/2 - (renderer->calculate_text_width(fnt_20, name))/2;
- int name_y = player_render_y - fnt_20->px_h - 5;
- renderer->render_text(fnt_20, name_x+1, name_y+1, name, rgba(0,0,0,120));
- renderer->render_text(fnt_20, name_x, name_y, name, rgb(255,255,255));
+ font* name_fnt = get_font(window, 0.2f);
+ int name_x = player_render_x + (size)/2 - (renderer->calculate_text_width(name_fnt, name))/2;
+ int name_y = player_render_y - name_fnt->px_h - 5;
+ renderer->render_text(name_fnt, name_x+1, name_y+1, name, rgba(0,0,0,120));
+ renderer->render_text(name_fnt, name_x, name_y, name, rgb(255,255,255));
- p->gun_height = p->height+0.5;
+ p->gun_height = p->height+0.2;
if (p->connection_state == DISCONNECTED) {
float icon_h = (size)/2;