Players in party hear conversations, and can butt in
parent
51a31cc7ea
commit
27bed12418
@ -1,285 +0,0 @@
|
|||||||
if(a < b) return a;
|
|
||||||
if(playing_audio[i].sample == 0)
|
|
||||||
if(e->facing_left)
|
|
||||||
if(e->is_character)
|
|
||||||
else if(e->is_npc)
|
|
||||||
if(npc_is_knight_sprite(e))
|
|
||||||
else if(e->npc_kind == NPC_GodRock)
|
|
||||||
else if(e->npc_kind == NPC_OldMan)
|
|
||||||
else if(e->npc_kind == NPC_Death)
|
|
||||||
else if(e->npc_kind == NPC_Skeleton)
|
|
||||||
else if(e->npc_kind == NPC_MOOSE)
|
|
||||||
else if(e->npc_kind == NPC_TheGuard)
|
|
||||||
else if(e->is_bullet)
|
|
||||||
else if(e->is_prop)
|
|
||||||
else if(e->is_item)
|
|
||||||
if(tile_id == collideable[i]+1) return true;
|
|
||||||
if(e->is_character) // aabb near feet
|
|
||||||
if(out_of_bounds) return (TileInstance){0};
|
|
||||||
if(ref.generation == 0) return 0;
|
|
||||||
if(!to_return->exists || to_return->generation != ref.generation)
|
|
||||||
if(!gs.entities[i].exists)
|
|
||||||
if(it->is_character)
|
|
||||||
if(it->generation == 0) it->generation = 1; // zero value generation means doesn't exist
|
|
||||||
if(read_data.version != CURRENT_VERSION)
|
|
||||||
if(player->state != CHARACTER_TALKING)
|
|
||||||
if(actual_len == 0)
|
|
||||||
if(c == '\n') break;
|
|
||||||
if(gete(player->holding_item) != 0)
|
|
||||||
if(talking->last_seen_holding_kind != player_holding)
|
|
||||||
if(it->sample != 0)
|
|
||||||
if(cursor_pcm(it) >= it->sample->pcm_data_length)
|
|
||||||
if(!it->is_tile && it->e != from)
|
|
||||||
if(it == looking_for) done_damage = true;
|
|
||||||
if(!done_damage)
|
|
||||||
if(!BUFF_HAS_SPACE(&from->done_damage_to_this_swing))
|
|
||||||
if(memory->active)
|
|
||||||
if(memory->identifier == ended_identifier)
|
|
||||||
if(screen_size().x < screen_size().y)
|
|
||||||
if(screen_size().x < screen_size().y)
|
|
||||||
if (farthest_to_right - farthest_to_left < total_length)
|
|
||||||
if(segments_overlapping(a_segment, b_segment))
|
|
||||||
if(segments_overlapping(a_segment, b_segment))
|
|
||||||
if(cur_batch_image.id == 0 || cur_batch_data_index == 0) return; // flush called when image changes, image starts out null!
|
|
||||||
if(aabb_is_valid(d.clip_to) && LenV2(aabb_size(d.clip_to)) > 0.1)
|
|
||||||
if(d.world_space)
|
|
||||||
if(d.world_space)
|
|
||||||
if(d.queue_for_translucent)
|
|
||||||
if(d.image.id != cur_batch_image.id || memcmp(¶ms,&cur_batch_params,sizeof(params)) != 0 )
|
|
||||||
if(!overlapping(cam_aabb, points_bounding_box))
|
|
||||||
if(cur_batch_data_index + total_size >= ARRLEN(cur_batch_data))
|
|
||||||
if(col.A < 1.0f)
|
|
||||||
if(!show_devtools) return;
|
|
||||||
if(!show_devtools) return;
|
|
||||||
if(!show_devtools) return;
|
|
||||||
if(!aabb_is_valid(rect))
|
|
||||||
if(to == NULL) return;
|
|
||||||
if(to->is_bullet)
|
|
||||||
else if(true)
|
|
||||||
if(to->is_character)
|
|
||||||
if(from->is_character)
|
|
||||||
if(t.text[i] == '\n')
|
|
||||||
if(size.Y > 0.0 && size.X > 0.0)
|
|
||||||
if(!t.dry_run)
|
|
||||||
if(t.colors)
|
|
||||||
if(false) // drop shadow, don't really like it
|
|
||||||
if(t.world_space)
|
|
||||||
if(s->no_wrap)
|
|
||||||
if(index >= s->num_frames) index = s->num_frames - 1;
|
|
||||||
if(d.flipped)
|
|
||||||
if(!d.no_shadow) draw_shadow_for(drawn);
|
|
||||||
if(is_tile_solid(t))
|
|
||||||
if(!(it->is_character && it->is_rolling) && overlapping(aabb, entity_aabb(it)))
|
|
||||||
if(is_tile_solid(get_tile_layer(&level_level0, 2, tilecoord_to_check)))
|
|
||||||
if(!p.dont_collide_with_entities && !(p.from->is_character && p.from->is_rolling))
|
|
||||||
if(!(it->is_character && it->is_rolling) && it != p.from && !(it->is_npc && it->dead) && !it->is_item)
|
|
||||||
if(overlapping(at_new, *it))
|
|
||||||
if(cur_dist < smallest_distance){
|
|
||||||
if(actually_overlapping.cur_index > 0)
|
|
||||||
if(i == smallest_aabb_index)
|
|
||||||
if(dot > closest_dot)
|
|
||||||
if(p.col_info_out) *p.col_info_out = info;
|
|
||||||
if(line_bounds.lower_right.X > at_point.X + max_width)
|
|
||||||
if(chars_from_sentence > sentence_len) chars_from_sentence--;
|
|
||||||
if(!dry_run) dbgrect(drawn_bounds);
|
|
||||||
if(chars_from_sentence == 0)
|
|
||||||
if(is_last_said && it->type == NPCDialog)
|
|
||||||
if(aabb_is_valid(dialog_panel))
|
|
||||||
if(aabb_is_valid(dialog_panel))
|
|
||||||
if(it->type == NPCDialog)
|
|
||||||
if(last_said == &it->npc_dialog)
|
|
||||||
else if(it->type == PlayerDialog)
|
|
||||||
if(dialog.cur_index > 0)
|
|
||||||
if(it->is_player)
|
|
||||||
if(!receiving_text_input && in_dialog())
|
|
||||||
if(screen_size().x < 0.7f*screen_size().y)
|
|
||||||
if(mobile_controls)
|
|
||||||
if(LenV2(movement) > 0.0f)
|
|
||||||
if(LenV2(movement) > 1.0)
|
|
||||||
if(cur.kind > tileset.first_gid && tileset.first_gid > max_gid)
|
|
||||||
if(cur.kind != 0)
|
|
||||||
if(tileset.animated[i].exists && tileset.animated[i].id_from == cur.kind-1)
|
|
||||||
if(anim)
|
|
||||||
if(player->in_conversation_mode)
|
|
||||||
if(fabsf(speed_factor - speed_target) <= 0.05f)
|
|
||||||
if(it->is_npc)
|
|
||||||
if(it->gen_request_id != 0)
|
|
||||||
if(status == 0)
|
|
||||||
if(status == 1)
|
|
||||||
if(text_was_well_formatted)
|
|
||||||
else if(status == 2)
|
|
||||||
else if(status == -1)
|
|
||||||
if(fabsf(it->vel.x) > 0.01f)
|
|
||||||
if(it->dead)
|
|
||||||
if(player->in_conversation_mode)
|
|
||||||
if(has_point(entity_aabb(it), screen_to_world(mouse_pos)))
|
|
||||||
if(mouse_just_clicked)
|
|
||||||
if(it->is_npc)
|
|
||||||
if(true)
|
|
||||||
if(last_said_sentence(it)) length = last_said_sentence(it)->cur_index;
|
|
||||||
if((int)before < length)
|
|
||||||
if( (int)it->characters_said > (int)before )
|
|
||||||
if(it->standing == STANDING_FIGHTING || it->standing == STANDING_JOINED)
|
|
||||||
if(it->direction_of_spiral_pattern)
|
|
||||||
if(col.happened)
|
|
||||||
if(it->standing == STANDING_FIGHTING)
|
|
||||||
if(it->shotgun_timer >= 1.0f)
|
|
||||||
if(it->npc_kind == NPC_OldMan)
|
|
||||||
if(it->shotgun_timer >= 1.0f)
|
|
||||||
else if(it->npc_kind == NPC_Skeleton)
|
|
||||||
if(it->dead)
|
|
||||||
if(fabsf(it->vel.x) > 0.01f)
|
|
||||||
if(it->swing_timer > 0.0)
|
|
||||||
if(it->swing_timer >= anim_sprite_duration(ANIM_skeleton_swing_sword))
|
|
||||||
if(it->swing_timer >= 0.4f)
|
|
||||||
if(it->walking)
|
|
||||||
if(it->e && it->e->is_character)
|
|
||||||
else if(it->npc_kind == NPC_Death)
|
|
||||||
else if(it->npc_kind == DEATH)
|
|
||||||
else if(it->npc_kind == MERCHANT)
|
|
||||||
else if(it->npc_kind == NPC_MOOSE)
|
|
||||||
else if(it->npc_kind == NPC_GodRock)
|
|
||||||
else if(it->npc_kind == NPC_Edeline)
|
|
||||||
else if(it->npc_kind == NPC_TheGuard)
|
|
||||||
if(it->moved)
|
|
||||||
if(LenV2(towards) > 1.0f)
|
|
||||||
if(it->damage >= 1.0)
|
|
||||||
if(it->npc_kind == NPC_Skeleton)
|
|
||||||
else if (it->is_item)
|
|
||||||
if(it->held_by_player)
|
|
||||||
if(info.happened) it->vel = ReflectV2(it->vel, info.normal);
|
|
||||||
else if (it->is_bullet)
|
|
||||||
if(!it->is_tile && !(it->e->is_bullet))
|
|
||||||
if(destroy_bullet) *from_bullet = (Entity){0};
|
|
||||||
if(!has_point(level_aabb, it->pos)) *it = (Entity){0};
|
|
||||||
else if(it->is_character)
|
|
||||||
else if(it->is_prop)
|
|
||||||
if(it->destroy)
|
|
||||||
if(it->perceptions_dirty && !npc_does_dialog(it))
|
|
||||||
if(it->perceptions_dirty)
|
|
||||||
if(it->npc_kind == NPC_TheGuard)
|
|
||||||
if(it->last_seen_holding_kind == ITEM_Tripod && !it->moved)
|
|
||||||
if(entity_talkable) entity_talkable = entity_talkable && !it->is_tile;
|
|
||||||
if(entity_talkable) entity_talkable = entity_talkable && it->e->is_npc;
|
|
||||||
if(entity_talkable) entity_talkable = entity_talkable && !(it->e->npc_kind == NPC_Skeleton);
|
|
||||||
if(entity_talkable) entity_talkable = entity_talkable && it->e->gen_request_id == 0;
|
|
||||||
if(entity_talkable || entity_pickupable)
|
|
||||||
if(dist < closest_interact_with_dist)
|
|
||||||
if(player->state == CHARACTER_TALKING)
|
|
||||||
if(player->state == CHARACTER_TALKING)
|
|
||||||
if(gete(player->talking_to) == 0)
|
|
||||||
if(interact)
|
|
||||||
if(player->in_conversation_mode)
|
|
||||||
else if(closest_interact_with)
|
|
||||||
if(closest_interact_with->is_npc)
|
|
||||||
else if(closest_interact_with->is_item)
|
|
||||||
if(gete(player->holding_item))
|
|
||||||
if(roll && !player->is_rolling && player->time_not_rolling > 0.3f && (player->state == CHARACTER_IDLE || player->state == CHARACTER_WALKING))
|
|
||||||
if(attack && (player->state == CHARACTER_IDLE || player->state == CHARACTER_WALKING))
|
|
||||||
if(player->after_images.data[0].alive_for >= AFTERIMAGE_LIFETIME)
|
|
||||||
if(player->state != CHARACTER_IDLE && player->state != CHARACTER_WALKING)
|
|
||||||
if(player->is_rolling)
|
|
||||||
if(player->roll_progress > anim_sprite_duration(ANIM_knight_rolling))
|
|
||||||
if(!player->is_rolling) player->time_not_rolling += dt;
|
|
||||||
if(LenV2(movement) > 0.01f) player->to_throw_direction = NormV2(movement);
|
|
||||||
if(player->state == CHARACTER_WALKING)
|
|
||||||
if(player->is_rolling) speed = PLAYER_ROLL_SPEED;
|
|
||||||
if(gete(player->holding_item) && gete(player->holding_item)->item_kind == ITEM_Boots)
|
|
||||||
if(LenV2(movement) == 0.0)
|
|
||||||
else if(player->state == CHARACTER_IDLE)
|
|
||||||
if(LenV2(movement) > 0.01) player->state = CHARACTER_WALKING;
|
|
||||||
else if(player->state == CHARACTER_ATTACK)
|
|
||||||
if(player->swing_progress > anim_sprite_duration(ANIM_knight_attack))
|
|
||||||
else if(player->state == CHARACTER_TALKING)
|
|
||||||
if(player->damage >= 1.0)
|
|
||||||
if(interacting_with)
|
|
||||||
if(!mobile_controls)
|
|
||||||
if(player->state == CHARACTER_WALKING)
|
|
||||||
if(player->is_rolling)
|
|
||||||
else if(player->state == CHARACTER_IDLE)
|
|
||||||
if(player->is_rolling)
|
|
||||||
else if(player->state == CHARACTER_ATTACK)
|
|
||||||
else if(player->state == CHARACTER_TALKING)
|
|
||||||
if(player->damage > 0.0)
|
|
||||||
if(player->anim_change_timer >= 0.05f)
|
|
||||||
if(progress_through_life > 0.5f)
|
|
||||||
if(player->is_rolling) to_draw.tint.a = 0.5f;
|
|
||||||
if(to_draw.anim)
|
|
||||||
if(player->after_image_timer >= TIME_TO_GEN_AFTERIMAGE)
|
|
||||||
if(BUFF_HAS_SPACE(&player->after_images))
|
|
||||||
if(it->gen_request_id != 0)
|
|
||||||
if(it->is_npc)
|
|
||||||
if(it->is_npc)
|
|
||||||
if(gete(player->talking_to) == it && player->state == CHARACTER_TALKING) alpha = 1.0f;
|
|
||||||
if(it->being_hovered)
|
|
||||||
if(it->npc_kind == NPC_OldMan)
|
|
||||||
else if(it->npc_kind == NPC_Skeleton)
|
|
||||||
if(it->dead)
|
|
||||||
if(it->swing_timer > 0.0)
|
|
||||||
if(it->walking)
|
|
||||||
else if(it->npc_kind == NPC_Death)
|
|
||||||
else if(it->npc_kind == NPC_GodRock)
|
|
||||||
else if(npc_is_knight_sprite(it))
|
|
||||||
if(it->npc_kind == NPC_TheGuard)
|
|
||||||
else if(it->npc_kind == NPC_Edeline)
|
|
||||||
else if(it->npc_kind == NPC_MOOSE)
|
|
||||||
else if (it->is_item)
|
|
||||||
if(it->item_kind == ITEM_Tripod)
|
|
||||||
else if(it->item_kind == ITEM_Boots)
|
|
||||||
else if(it->item_kind == ITEM_WhiteSquare)
|
|
||||||
else if (it->is_bullet)
|
|
||||||
else if(it->is_character)
|
|
||||||
else if(it->is_prop)
|
|
||||||
if(it->prop_kind == TREE0)
|
|
||||||
else if(it->prop_kind == TREE1)
|
|
||||||
else if(it->prop_kind == TREE2)
|
|
||||||
else if(it->prop_kind == ROCK0)
|
|
||||||
if(!mobile_controls)
|
|
||||||
if(mobile_controls)
|
|
||||||
if(interacting_with || gete(player->holding_item))
|
|
||||||
if(show_devtools)
|
|
||||||
if(show_devtools)
|
|
||||||
if(LenV2(SubV2(target, cam.pos)) <= 0.2)
|
|
||||||
if(e->key_repeat) return;
|
|
||||||
if(e->type == SAPP_EVENTTYPE_TOUCHES_BEGAN)
|
|
||||||
if(!mobile_controls)
|
|
||||||
if(receiving_text_input)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_CHAR)
|
|
||||||
if(BUFF_HAS_SPACE(&text_input_buffer))
|
|
||||||
if(e->type == SAPP_EVENTTYPE_KEY_DOWN && e->key_code == SAPP_KEYCODE_ENTER)
|
|
||||||
if(mobile_controls)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_TOUCHES_BEGAN)
|
|
||||||
if(touchpoint_screen_pos.x < screen_size().x*0.4f)
|
|
||||||
if(!movement_touch.active)
|
|
||||||
if(true)
|
|
||||||
if(LenV2(SubV2(touchpoint_screen_pos, roll_button_pos())) < mobile_button_size()*0.5f)
|
|
||||||
if(LenV2(SubV2(touchpoint_screen_pos, interact_button_pos())) < mobile_button_size()*0.5f)
|
|
||||||
if(LenV2(SubV2(touchpoint_screen_pos, attack_button_pos())) < mobile_button_size()*0.5f)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_TOUCHES_MOVED)
|
|
||||||
if(movement_touch.active)
|
|
||||||
if(e->touches[i].identifier == movement_touch.identifier)
|
|
||||||
if(LenV2(move_vec) > clampto_size)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_TOUCHES_ENDED)
|
|
||||||
if(e->touches[i].changed) // only some of the touch events are released
|
|
||||||
if(maybe_deactivate(&interact_pressed_by, e->touches[i].identifier))
|
|
||||||
if(maybe_deactivate(&roll_pressed_by, e->touches[i].identifier))
|
|
||||||
if(maybe_deactivate(&attack_pressed_by, e->touches[i].identifier))
|
|
||||||
if(maybe_deactivate(&movement_touch, e->touches[i].identifier))
|
|
||||||
if(e->type == SAPP_EVENTTYPE_MOUSE_DOWN)
|
|
||||||
if(e->mouse_button == SAPP_MOUSEBUTTON_LEFT)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_KEY_DOWN)
|
|
||||||
if(!receiving_text_input)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_E)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_LEFT_SHIFT)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_SPACE)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_E)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_ESCAPE)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_T)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_M)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_P)
|
|
||||||
if(profiling)
|
|
||||||
if(e->key_code == SAPP_KEYCODE_7)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_KEY_UP)
|
|
||||||
if(e->type == SAPP_EVENTTYPE_MOUSE_MOVE)
|
|
||||||
if(mouse_frozen) ignore_movement = true;
|
|
||||||
if(!ignore_movement) mouse_pos = V2(e->mouse_x, (float)sapp_height() - e->mouse_y);
|
|
Loading…
Reference in New Issue