summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/asset_defs.c30
-rw-r--r--src/game.c1
-rw-r--r--src/map.c18
-rw-r--r--src/objects.c37
-rw-r--r--src/players.c2
-rw-r--r--src/zombies.c4
6 files changed, 79 insertions, 13 deletions
diff --git a/src/asset_defs.c b/src/asset_defs.c
index 11d5f2d..0e95b50 100644
--- a/src/asset_defs.c
+++ b/src/asset_defs.c
@@ -79,6 +79,18 @@ void load_assets() { // Assets loaded at match start.
img_bar_h = assets_load_image_from_file("data/imgs/objects/bar_h.png");
img_bar_v = assets_load_image_from_file("data/imgs/objects/bar_v.png");
img_bar_hv = assets_load_image_from_file("data/imgs/objects/bar_hv.png");
+ img_club_seat1 = assets_load_image_from_file("data/imgs/objects/club_seat1.png");
+ img_club_seat2 = assets_load_image_from_file("data/imgs/objects/club_seat2.png");
+ img_club_seat3 = assets_load_image_from_file("data/imgs/objects/club_seat3.png");
+ img_club_seat4 = assets_load_image_from_file("data/imgs/objects/club_seat4.png");
+ img_club_wall1 = assets_load_image_from_file("data/imgs/objects/club_wall1.png");
+ img_club_wall2 = assets_load_image_from_file("data/imgs/objects/club_wall2.png");
+ img_club_wall3 = assets_load_image_from_file("data/imgs/objects/club_wall3.png");
+ img_club_seat5 = assets_load_image_from_file("data/imgs/objects/club_seat5.png");
+ img_club_seat6 = assets_load_image_from_file("data/imgs/objects/club_seat6.png");
+ img_club_seat7 = assets_load_image_from_file("data/imgs/objects/club_seat7.png");
+ img_bowling_lane = assets_load_image_from_file("data/imgs/objects/bowling_lane.png");
+ img_bowling_lane_end = assets_load_image_from_file("data/imgs/objects/bowling_lane_end.png");
// Players
img_gunner_black_run = assets_load_image_from_file("data/imgs/players/Black/Gunner_Black_Run.png");
@@ -128,6 +140,24 @@ void load_assets() { // Assets loaded at match start.
img_tile_carpet3 = assets_load_image_from_file("data/imgs/tiles/tile_carpet3.png");
img_tile_carpet4 = assets_load_image_from_file("data/imgs/tiles/tile_carpet4.png");
img_tile_carpet5 = assets_load_image_from_file("data/imgs/tiles/tile_carpet5.png");
+ img_tile_carpet_stairs_v = assets_load_image_from_file("data/imgs/tiles/tile_carpet_stairs_v.png");
+ img_tile_club1 = assets_load_image_from_file("data/imgs/tiles/tile_club1.png");
+ img_tile_club2 = assets_load_image_from_file("data/imgs/tiles/tile_club2.png");
+ img_tile_club3 = assets_load_image_from_file("data/imgs/tiles/tile_club3.png");
+ img_tile_club4 = assets_load_image_from_file("data/imgs/tiles/tile_club4.png");
+ img_tile_club_stairs1 = assets_load_image_from_file("data/imgs/tiles/club_stairs1.png");
+ img_tile_club_stairs2 = assets_load_image_from_file("data/imgs/tiles/club_stairs2.png");
+ img_tile_club_stairs3 = assets_load_image_from_file("data/imgs/tiles/club_stairs3.png");
+ img_tile_club_stairs4 = assets_load_image_from_file("data/imgs/tiles/club_stairs4.png");
+ img_tile_club_stairs5 = assets_load_image_from_file("data/imgs/tiles/club_stairs5.png");
+ img_tile_club_stairs6 = assets_load_image_from_file("data/imgs/tiles/club_stairs6.png");
+ img_tile_club_stairs7 = assets_load_image_from_file("data/imgs/tiles/club_stairs7.png");
+ img_tile_club_stairs8 = assets_load_image_from_file("data/imgs/tiles/club_stairs8.png");
+ img_tile_club_stairs9 = assets_load_image_from_file("data/imgs/tiles/club_stairs9.png");
+ img_tile_club_stairs10 = assets_load_image_from_file("data/imgs/tiles/club_stairs10.png");
+ img_tile_club_stairs11 = assets_load_image_from_file("data/imgs/tiles/club_stairs11.png");
+ img_tile_club_stairs12 = assets_load_image_from_file("data/imgs/tiles/club_stairs12.png");
+ img_tile_club_stairs13 = assets_load_image_from_file("data/imgs/tiles/club_stairs13.png");
// sounds
wav_throwable_bounce = Mix_LoadWAV("data/sounds/throwable_bounce.wav");
diff --git a/src/game.c b/src/game.c
index 5123d1a..6081df1 100644
--- a/src/game.c
+++ b/src/game.c
@@ -43,6 +43,7 @@ bool connect_to_server(char* ip, char* port) {
player_id = 127001;
spawn_player(player_id, (network_client){0, false, 0, "Host"});
global_state.network_state = CONNECTED;
+ return true;
}
else {
if (global_state.client->is_connected) {
diff --git a/src/map.c b/src/map.c
index d2e44d9..9b21725 100644
--- a/src/map.c
+++ b/src/map.c
@@ -398,6 +398,24 @@ image* get_image_from_tiletype(tile_type tile) {
case TILE_CARPET3: return img_tile_carpet3;
case TILE_CARPET4: return img_tile_carpet4;
case TILE_CARPET5: return img_tile_carpet5;
+ case TILE_CARPET_STAIRS_v: return img_tile_carpet_stairs_v;
+ case TILE_CLUB1: return img_tile_club1;
+ case TILE_CLUB2: return img_tile_club2;
+ case TILE_CLUB3: return img_tile_club3;
+ case TILE_CLUB4: return img_tile_club4;
+ case TILE_CLUB_STAIRS1: return img_tile_club_stairs1;
+ case TILE_CLUB_STAIRS2: return img_tile_club_stairs2;
+ case TILE_CLUB_STAIRS3: return img_tile_club_stairs3;
+ case TILE_CLUB_STAIRS4: return img_tile_club_stairs4;
+ case TILE_CLUB_STAIRS5: return img_tile_club_stairs5;
+ case TILE_CLUB_STAIRS6: return img_tile_club_stairs6;
+ case TILE_CLUB_STAIRS7: return img_tile_club_stairs7;
+ case TILE_CLUB_STAIRS8: return img_tile_club_stairs8;
+ case TILE_CLUB_STAIRS9: return img_tile_club_stairs9;
+ case TILE_CLUB_STAIRS10: return img_tile_club_stairs10;
+ case TILE_CLUB_STAIRS11: return img_tile_club_stairs11;
+ case TILE_CLUB_STAIRS12: return img_tile_club_stairs12;
+ case TILE_CLUB_STAIRS13: return img_tile_club_stairs13;
default: return 0;
}
}
diff --git a/src/objects.c b/src/objects.c
index 392056b..c6788db 100644
--- a/src/objects.c
+++ b/src/objects.c
@@ -143,6 +143,30 @@ image* get_image_from_objecttype(object_type tile) {
return img_bar_v;
case OBJECT_BAR_HV:
return img_bar_hv;
+ case OBJECT_CLUB_WALL1:
+ return img_club_wall1;
+ case OBJECT_CLUB_WALL2:
+ return img_club_wall2;
+ case OBJECT_CLUB_SEAT1:
+ return img_club_seat1;
+ case OBJECT_CLUB_SEAT2:
+ return img_club_seat2;
+ case OBJECT_CLUB_SEAT3:
+ return img_club_seat3;
+ case OBJECT_CLUB_SEAT4:
+ return img_club_seat4;
+ case OBJECT_CLUB_SEAT5:
+ return img_club_seat5;
+ case OBJECT_CLUB_SEAT6:
+ return img_club_seat6;
+ case OBJECT_CLUB_SEAT7:
+ return img_club_seat7;
+ case OBJECT_CLUB_WALL3:
+ return img_club_wall3;
+ case OBJECT_BOWLING_LANE:
+ return img_bowling_lane;
+ case OBJECT_BOWLING_LANE_END:
+ return img_bowling_lane_end;
default:
return 0;
}
@@ -151,7 +175,7 @@ image* get_image_from_objecttype(object_type tile) {
void draw_objects(platform_window* window) {
map_info info = get_map_info(window);
- uint32_t prev_y = 0;
+ float prev_y = 0;
for (int i = 0; i < MAX_OBJECTS; i++) {
if (!loaded_map.objects[i].active) continue;
object o = loaded_map.objects[i];
@@ -167,8 +191,8 @@ void draw_objects(platform_window* window) {
}
//render_box_outline(box, rgb(255,0,0));
- if (prev_y < o.position.y) {
- prev_y = o.position.y;
+ if (prev_y < o.position.y-1) {
+ prev_y = o.position.y-1;
draw_zombies(window, prev_y, prev_y);
#ifdef MODE_DEBUG
if (!is_editing_map)
@@ -177,13 +201,6 @@ void draw_objects(platform_window* window) {
draw_glass_doors(window, prev_y, prev_y);
}
}
-
- draw_zombies(window, prev_y, MAP_SIZE_Y);
- #ifdef MODE_DEBUG
- if (!is_editing_map)
- #endif
- draw_players(window, prev_y, MAP_SIZE_Y);
- draw_glass_doors(window, prev_y, MAP_SIZE_Y);
}
void create_objects() {
diff --git a/src/players.c b/src/players.c
index b5d0666..b4b744d 100644
--- a/src/players.c
+++ b/src/players.c
@@ -128,7 +128,7 @@ void add_points_to_player(player* p, u32 points) {
void move_user(platform_window* window, u32 id, protocol_move_type move, float delta) {
- float speed_straight = 5.5f;
+ float speed_straight = 15.5f;
float speed = speed_straight * delta;
float pad_between_player_and_obj = 0.01f;
diff --git a/src/zombies.c b/src/zombies.c
index 13368f2..1e3e05b 100644
--- a/src/zombies.c
+++ b/src/zombies.c
@@ -112,7 +112,7 @@ static vec2f get_random_target_for_zombie(zombie o) {
if (target.x >= MAP_SIZE_X-1 || target.y >= MAP_SIZE_Y-1) goto try_again;
object obj = get_object_at_tile(target.x, target.y);
- if (obj.active) goto try_again;
+ if (obj.active && obj.active) goto try_again;
return target;
}
@@ -326,7 +326,7 @@ static vec2f get_random_point_around_player(player p, zombie o) {
float y = (float)(radius * sin(angleInDegrees * M_PI / 180.0f)) + p.playery;
object obj = get_object_at_tile(x, y);
- if (obj.active) goto try_again;
+ if (obj.active && obj.collision) goto try_again;
return (vec2f){x, y};
}