// seg002:039E void __pascal far follow_guard() { level.guards_tile[Kid.room - 1] = 0xFF; level.guards_tile[Guard.room - 1] = 0xFF; loadshad(); goto_other_room(roomleave_result); saveshad(); }
// seg002:0269 void __pascal far check_guard_fallout() { if (Guard.direction == dir_56_none || Guard.y < 211) { return; } if (Guard.charid == charid_1_shadow) { if (Guard.action != actions_4_in_freefall) { return; } loadshad(); clear_char(); saveshad(); } else if (Guard.charid == charid_4_skeleton && (Guard.room = level.roomlinks[Guard.room - 1].down) == 3) { // if skeleton falls down into room 3 Guard.x = 133; Guard.curr_row = 1; Guard.direction = dir_0_right; Guard.alive = -1; leave_guard(); } else { on_guard_killed(); level.guards_tile[drawn_room - 1] = -1; Guard.direction = dir_56_none; draw_guard_hp(0, guardhp_curr); guardhp_curr = 0; } }
// seg002:0CD4 void __pascal far check_sword_hurt() { if (Guard.action == actions_99_hurt) { if (Kid.action == actions_99_hurt) { Kid.action = actions_1_run_jump; } loadshad(); hurt_by_sword(); saveshad(); guard_refrac = refractimer[guard_skill]; } else { if (Kid.action == actions_99_hurt) { loadkid(); hurt_by_sword(); savekid(); } } }
// seg001:0156 void __pascal far draw_princess_room_bg() { memset_near(table_counts, 0, sizeof(table_counts)); loadkid(); if (Char.frame) { load_frame_to_obj(); obj_tilepos = 30; add_objtable(0); } loadshad(); if (Char.frame) { load_frame_to_obj(); obj_tilepos = 30; add_objtable(0); } redraw_needed_tiles(); add_foretable(id_chtab_8_princessroom, 2 /*pillar piece*/, 30, 0, 167, blitters_10h_transp, 0); princess_room_torch(); draw_hourglass(); draw_tables(); }
// seg001:01E0 void __pascal far seqtbl_offset_shad_char(int seq_index) { loadshad(); seqtbl_offset_char(seq_index); saveshad(); }