mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
golden: move bunker1 window to 640-1120:240 (frame 400 sat on the nondeterministic intro camera; 3 captures agree)
This commit is contained in:
1 parent
971c2d9f62
commit
c728c42e81
7 files changed
+13
-8
No files matched your search
@@ -51,7 +51,7 @@ threshold, 1 = at least one frame/region over threshold, 2 = usage / IO
|
||||
error (e.g. a golden frame with no candidate).
|
||||
|
||||
Regenerate the golden set (after a deliberate visual change):
|
||||
GE_PCDUMP="400-880:240" ./build-pc/ge007.x86_64.exe -level_09
|
||||
GE_PCDUMP="640-1120:240" ./build-pc/ge007.x86_64.exe -level_09
|
||||
(with data/ge007.ini = only [Window] Width=640 Height=480; see
|
||||
tools_pc/golden/README.md)
|
||||
python tools_pc/framediff.py ppm --update
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Golden baseline frames
|
||||
|
||||
`frame_NNNNNN.png` — reference `GE_PCDUMP` captures for `framediff.py`
|
||||
(`-level_09` BUNKER1: end of the intro + settled gameplay). Compared structurally, not exactly — the port
|
||||
(`-level_09` BUNKER1: settled gameplay after the intro). Compared structurally, not exactly — the port
|
||||
is not frame-deterministic (see `docs/internals.md` "D117").
|
||||
|
||||
Regenerate after a deliberate visual change:
|
||||
@@ -13,7 +13,7 @@ printf '[Window]
|
||||
Width = 640
|
||||
Height = 480
|
||||
' > data/ge007.ini
|
||||
GE_PCDUMP="400-880:240" ./build-pc/ge007.x86_64.exe -level_09
|
||||
GE_PCDUMP="640-1120:240" ./build-pc/ge007.x86_64.exe -level_09
|
||||
python tools_pc/framediff.py ppm --update # then git rm any stale stems
|
||||
```
|
||||
|
||||
@@ -30,7 +30,12 @@ python tools_pc/framediff.py ppm --update # then git rm any stale stems
|
||||
it to 60 fps (1 tick/frame), so frame N now lands at half the sim time, and
|
||||
frames 200/320/440 fell in the intro cutscene, whose camera is
|
||||
nondeterministic (D117); two fresh captures disagreed at 440. The window
|
||||
moved to `400-880:240`, the same sim ticks the original set sampled.
|
||||
moved to `640-1120:240`, the same sim ticks the original set sampled.
|
||||
Two independent captures of it agree 3/3. The capture ini is now
|
||||
defaults-only, and `verify.sh` pins it the same way (it used to rewrite
|
||||
only Width/Height, which kept personal settings).
|
||||
- **2026-09-23 (later):** window moved again, `400-880:240` → `640-1120:240`.
|
||||
Frame 400 is the last beat of the intro cutscene (Bond in the shaft) and
|
||||
its camera is nondeterministic (D117): 1 in ~5 gate runs failed it (dmean
|
||||
0.7 vs 20.7 run to run). All three frames are now settled gameplay; three
|
||||
independent captures agree (worst dmean ≤ 6.8).
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 317 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 244 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 244 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 244 KiB |
+4
-4
@@ -18,7 +18,7 @@
|
||||
#
|
||||
# Options:
|
||||
# --platform win|linux default: autodetect via `uname -s`
|
||||
# --dump lo-hi:step GE_PCDUMP window (default: 400-880:240 single level,
|
||||
# --dump lo-hi:step GE_PCDUMP window (default: 640-1120:240 single level,
|
||||
# 80-400:40 sweep — matches the existing golden set
|
||||
# and level_sweep.sh respectively)
|
||||
# --script "..." GE_INPUTSCRIPT passthrough (scripted input)
|
||||
@@ -284,7 +284,7 @@ except Exception:
|
||||
# exit 1 = a real per-frame threshold fail (pixel/cell/hash delta).
|
||||
# exit 2 = a structural mismatch (missing/size) -- most commonly the
|
||||
# golden's frame stems don't line up with this run's --dump window
|
||||
# (today's only golden, level_09, was captured at 400-880:240; a
|
||||
# (today's only golden, level_09, was captured at 640-1120:240; a
|
||||
# sweep using a different stride has nothing to compare against
|
||||
# rather than a real regression). Only exit 1 is a verdict fail.
|
||||
case "$fexit" in
|
||||
@@ -327,7 +327,7 @@ case "$MODE" in
|
||||
name="${resolved%%:*}"; num="${resolved##*:}"
|
||||
[ "${resolved%%:*}" = num ] && name=$(name_for_num "$num")
|
||||
pin_ini_640x480 2>/dev/null || true
|
||||
verify_level "$name" "$num" "${DUMP:-400-880:240}"
|
||||
verify_level "$name" "$num" "${DUMP:-640-1120:240}"
|
||||
;;
|
||||
|
||||
sweep)
|
||||
@@ -375,7 +375,7 @@ case "$MODE" in
|
||||
[ -z "$resolved" ] && { echo "unknown level '$LEVEL_ARG'" >&2; exit 2; }
|
||||
name="${resolved%%:*}"; num="${resolved##*:}"
|
||||
pin_ini_640x480 2>/dev/null || true
|
||||
run_one "$name" "$num" "${DUMP:-400-880:240}" 90
|
||||
run_one "$name" "$num" "${DUMP:-640-1120:240}" 90
|
||||
if [ "$R_STATUS" != PASS ]; then
|
||||
emit_verdict "$name" "$R_STATUS" "$R_FRAMES" "" "$R_SYM"
|
||||
rm -rf "$CAPDIR"; exit 1
|
||||
|
||||
Reference in new issue
Block a user