示例#1
0
文件: seg004.c 项目: Falcury/SDLPoP
// seg004:029D
void __pascal far check_bumped() {
	if (
		Char.action != actions_2_hang_climb &&
		Char.action != actions_6_hang_straight &&
		// frames 135..149: climb up
		(Char.frame < frame_135_climbing_1 || Char.frame >= 149)
	) {
#ifdef FIX_TWO_COLL_BUG
		if (bump_col_left_of_wall >= 0) {
			check_bumped_look_right();
			if (!fixes->fix_two_coll_bug) return; // check for the left-oriented collision only with the fix enabled
		}
		if (bump_col_right_of_wall >= 0) {
			check_bumped_look_left();
		}
#else
		if (bump_col_left_of_wall >= 0) {
			check_bumped_look_right();
		}
		else
		if (bump_col_right_of_wall >= 0) {
			check_bumped_look_left();
		}
#endif // FIX_TWO_COLL_BUG

	}
}
示例#2
0
文件: seg004.c 项目: kees/SDLPoP
// seg004:029D
void __pascal far check_bumped() {
	if (
		Char.action != actions_2_hang_climb &&
		Char.action != actions_6_hang_straight &&
		// frames 135..149: climb up
		(Char.frame < 135 || Char.frame >= 149)
	) {
		if (bump_col_left_of_wall >= 0) {
			check_bumped_look_right();
		}
#ifndef FIX_TWO_COLL_BUG
		else
#endif
		if (bump_col_right_of_wall >= 0) {
			check_bumped_look_left();
		}
	}
}