L3-CHOMP: перед чомпером Кид разбегается сразу, без осторожного шага
forward_pressed (seg005:0577) исключает чомпер из правила «у стены шагаем, а не бежим»: `edge_type == EDGE_TYPE_WALL && curr_tile2 != tiles_18_chomper && distance < 8`. У нас исключения не было, а wall_type(18) = 3 — чомпер считается стеной, — поэтому из позиции вплотную к челюстям Кид сначала делал safe_step на 1-2 px и только потом бежал. Лишние кадры шага не дают проскочить между челюстями (поймано на приёмке, комната 3.22). Добавлен pop_edge_tile() — порт curr_tile2 после get_edge_distance. control_turning не трогаем: у нас он ванильный, а второе такое исключение в SDLPoP сидит под фиксом fix_turn_running_near_wall.
This commit is contained in:
@@ -846,6 +846,11 @@ int pop_edge_distance(void) __banked
|
||||
|
||||
uint8_t pop_edge_type(void) __banked { return g_edge_type; }
|
||||
|
||||
/* Тайл, на котором закончился разбор края (порт curr_tile2 после
|
||||
* get_edge_distance). Нужен control'у: правило «у стены шагаем, а не
|
||||
* бежим» в оригинале ЯВНО исключает чомпер (seg005:0577). */
|
||||
uint8_t pop_edge_tile(void) __banked { return g_curr_tile; }
|
||||
|
||||
/* ---- Прыжок вверх с зацепом (seg005 check_jump_up и производные) --- *
|
||||
* pop_jump_up_seq выбирает seq для ↑ в стойке: чистый прыжок (seq_28 в
|
||||
* пустоту / seq_14 в потолок) ЛИБО прыжок-и-зацеп за уступ выше (seq_8/
|
||||
|
||||
Reference in New Issue
Block a user