Files
BT411/scratchpad/night12/searchfog.sh
T
Joe DiPrimaandClaude Fable 5 412053d5af Searchlight reconstruction -- the pod's night kit, both halves
The subsystem (sim/toggle/attribute/replication) was already complete; this
lands the missing VISUALS, decoded from MakeMechRenderables @004cef28 case
0xbd8 (raw pseudocode part_014):

- COCKPIT: the 1995 searchlight is a FOG SWAP -- the @00456778/@00456814
  watcher switches DPLRenderer::SetFogStyle between the authored fog= (lit)
  and nosearchlightfog= (dark) sets per map/time page in BTDPL.INI.  The
  engine kept the whole system under its real names; completed the stubbed
  plane application (currentFogNear/Far) and transcribed the watcher (with
  its inverted-cache seed) into TickSearchlight.  CONSEQUENCE: night now
  STARTS on the authentic dark set (near-plane 5u on arena pages) -- our
  builds had rendered the searchlight-ON fog permanently.
- EXTERNAL: spot.bgf beam cone hung on the searchlight SITE joint, shown/
  hidden from the replicated LightOn attribute (@0045612c watcher).  Site
  segments now build geometry-less DCS children (posed + parentable, as the
  1995 graph did) -- previously they were skipped entirely.
- searchlight.hpp: commandedOn @0x1DC identified as mountSegment (resource
  segmentIndex; the cone's mount joint).

Benches: searchfog.sh (solo cockpit: first-tick dark sync, F5/0x14 press ->
SetFogStyle(2), red-fog probe end-to-end), spotcone.sh (2-node: B's button ->
lightState replication -> A logs "[spot] cone SHOWN (seg 20)").  Cone look
(size/aim on the mount) pending an eyeball pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 19:44:23 -05:00

32 lines
1.3 KiB
Bash

#!/bin/bash
# SEARCHLIGHT bench 1 (cockpit fog swap): solo night run; BT_BTNTEST presses
# the searchlight button (0x14 = F5's binding) at poll 600, releases 700.
# PASS (log): "[spot] searchlight pass: N light(s) ... (cockpit: fog watcher)";
# first tick "[spot] cockpit fog -> searchLightOff" (the inverted-seed sync ->
# authentic DARK night start on nosearchlightfog=5..400); after the press
# "[light] ... requested ON", "[fogstyle] SetFogStyle(2)", "[spot] cockpit fog
# -> searchLightOn". BT_SHOT frames: post-toggle frames measurably brighter
# (fog near 5 -> 40 on arena_night-family pages).
set -e
cd /c/git/bt411/content
. /c/git/bt411/scratchpad/night6/bench_common.sh
taskkill //F //IM btl4.exe > /dev/null 2>&1 || true; sleep 2
rm -f sfog_*.png sfog.log
sed "s/^map=.*/map=grass/; s/^time=.*/time=night/; 0,/^vehicle=.*/s//vehicle=madcat/" MP.EGG > SG2.EGG
(
export BT_START_INSIDE=1 BT_SHOT_EVERY=60 BT_SHOT_PREFIX=sfog
export BT_BTNTEST=0x14,600,700
export BT_FIRE_LOG=1 BT_FOG_LOG=1 BT_DEV_GAUGES=1
bt_launch "sfog.log" SG2.EGG 0x03
)
sleep 75
taskkill //F //IM btl4.exe > /dev/null 2>&1 || true; sleep 3
echo "=== searchlight pass + fog receipts:"
grep -aE "\[spot\]|\[fogstyle\]|\[light\]|btntest" sfog.log | head -16
echo "=== fog page resolve:"
grep -a "\[fog\] resolved" sfog.log | head -2
echo "=== frames:"
ls sfog_*.png 2>/dev/null | head -20