docs: падение при отходе с мечом — НЕ БАГ (сверено с SDLPoP)
Пользователь проверил в SDLPoP v1.24: оригинал падает с той же позиции, по той же траектории и с тем же видом кадра падения (голова/руки поверх кромки пола). Кадры совпадают один в один. Механика записана с числами: у стоек с мечом weight_x = 13-14 против 3 у обычной стойки, поэтому при взгляде влево точка веса уезжает на 13 px вправо от Char.x, и кромку персонаж переступает раньше, чем выглядит. Замер: x=151 -> dx_weight=164 -> колонка 7 (дыра) вместо 6 (пол). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -523,6 +523,36 @@ MAME по кромкам.
|
|||||||
|
|
||||||
## НЕ БАГИ (кривая картинка, но совпадает с оригиналом — НЕ чинить)
|
## НЕ БАГИ (кривая картинка, но совпадает с оригиналом — НЕ чинить)
|
||||||
|
|
||||||
|
- **Отход с ВЫНУТЫМ МЕЧОМ роняет Кида в яму «раньше, чем кажется»** (комната 4
|
||||||
|
уровня 2, кромка ряда 1 у дыры от упавшей loose-плиты). Сверено с SDLPoP
|
||||||
|
v1.24 пользователем (2026-08-04): оригинал падает **с той же позиции, по той
|
||||||
|
же траектории и с тем же видом кадра падения** (голова/руки поверх кромки
|
||||||
|
пола). Наш кадр и кадр SDLPoP совпадают один в один.
|
||||||
|
|
||||||
|
Механика, чтобы не разбирать заново. У стоек с мечом ОГРОМНАЯ точка веса:
|
||||||
|
|
||||||
|
```
|
||||||
|
кадр 158/170/171 (stand_with_sword): dx=0 weight_x=13
|
||||||
|
кадр 157 (walk_with_sword): dx=0 weight_x=14
|
||||||
|
кадр 15 (обычная стойка): dx=0 weight_x=3
|
||||||
|
```
|
||||||
|
|
||||||
|
`dx_weight()` = `char_dx_forward(dx − weight_x)`, а при взгляде ВЛЕВО знак
|
||||||
|
меняется — точка веса уезжает на 13 px ВПРАВО от `Char.x`. Замер нашего
|
||||||
|
кадра падения: `x=151`, взгляд влево → `dx_weight = 164` → `m7(164)` = колонка
|
||||||
|
**7**, а (1,7) — дыра. `check_on_floor` честно видит «под ногами не пол».
|
||||||
|
С обычной стойкой (weight_x=3) вышло бы 154 → колонка 6 → пол.
|
||||||
|
|
||||||
|
То есть с мечом персонаж «стоит» на 10 px правее, чем выглядит, и кромку
|
||||||
|
переступает раньше. Данные кадров у нас совпадают с `frame_table_kid`
|
||||||
|
(seg006:127) байт в байт, `swordfight`/`back_with_sword` портированы дословно
|
||||||
|
(включая `control_backward = CONTROL_IGNORE` — один нажим = один шаг).
|
||||||
|
Чинить нечего.
|
||||||
|
|
||||||
|
⚠ **Не путать** с тем, что БЫЛО нашим багом рядом: расширение футпринта
|
||||||
|
перерисовки под клинок (`redraw_at_char`, seg003:0430) — его не было, и меч
|
||||||
|
оставлял след/лез поверх столба. Исправлено 2026-08-04.
|
||||||
|
|
||||||
- **Голова стоящего Кида поверх падающей на него loose-плиты.** Комната 12:
|
- **Голова стоящего Кида поверх падающей на него loose-плиты.** Комната 12:
|
||||||
зацеп не удался, Кид остался стоять, сбитая плита падает прямо на него —
|
зацеп не удался, Кид остался стоять, сбитая плита падает прямо на него —
|
||||||
голова рисуется ПОВЕРХ плиты. Сверено покадрово с SDLPoP v1.24 (2026-07-29):
|
голова рисуется ПОВЕРХ плиты. Сверено покадрово с SDLPoP v1.24 (2026-07-29):
|
||||||
|
|||||||
Reference in New Issue
Block a user