Files
RP412/.gitignore
T
CydandClaude Fable 5 16ce4dfbea Exploded view remembers where you drag its windows
Ported from BT411's BT_GLASS_LAYOUT (29c502d).

The exploded view's panes are draggable desktop windows, but the
arrangement is recomputed on every launch, so dragging one somewhere
useful never survived the menu-race-menu loop.

RP412MFDLAYOUT persists it to mfd_layout.cfg beside bindings.txt:

  off / 0 / unset   computed arrangement only, no file (default)
  load / restore    restore saved positions at startup, never write
  save / adjust     restore, then rewrite on each finished drag
                    (WM_EXITSIZEMOVE) and on teardown

One "<title>=x,y,w,h" line per pane. Position is restored and the size
read and discarded: a pane's size follows its content and its button
banks, so letting an old size back in would misshape it after any
geometry change - and this port has changed that geometry twice already.

Load runs after the computed arrangement rather than instead of it, so a
pane the file does not mention simply keeps its computed spot. Only the
exploded view registers: the composited cockpit's panes are chrome-less
children with nothing to drag, so they have no position worth keeping.

RP412 needs no equivalent of BT411's "restored" flag. Its re-snap is
LayoutCockpit on WM_SIZE, which only runs in cockpit mode, so nothing
comes back later to overwrite a hand-placed window.

Verified by round trip: dragged Map to 777,333 in save mode, the file
took all six panes, and a fresh launch in load mode put it physically
back at 777,333. The harness also resized the window while moving it,
which incidentally proved the saved size really is ignored - the pane
came back correctly sized from a cfg that recorded 136x39.

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

77 lines
1.3 KiB
Plaintext

# Visual Studio build artifacts
[Dd]ebug/
[Rr]elease/
[Dd]ebug*/
[Rr]elease*/
x64/
x86/
[Bb]in/
[Oo]bj/
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.suo
*.user
*.cachefile
*.sln.cache
*.vspscc
*.vssscc
*.pch
*.ilk
*.tlog
*.lastbuildstate
*.idb
*.pdb
*.obj
*.o
*.exe
*.dll
*.exp
*.map
# Visual Studio per-user / IDE state
.vs/
*.VC.db
*.VC.opendb
# Runtime / generated output
*.log
rpl4.log
# Where the exploded view's panes were last dragged to (RP412MFDLAYOUT).
# Per-machine by nature - it is screen coordinates on somebody's desk.
mfd_layout.cfg
# Build-output static libs that land in lib/ (the two committed dependency
# libs, OpenAL32.lib and libsndfile-1.lib, stay tracked).
/lib/Munga_L4.lib
/lib/DivLoader.lib
# Stale Subversion metadata
.svn/
# OS cruft
Thumbs.db
desktop.ini
.DS_Store
# Packaged runnable game (pack-dist.ps1 output)
/dist/
# Local cockpit-launcher experiments — deliberately untracked
assets/RP411/startrp-800x600.bat
assets/RP411/startrp-800x600.ps1
# Bundled game working copy: committed wholesale as runtime data (see
# docs/ASSETS.md). Re-include the binaries the global rules above would skip.
!assets/**/*.exe
!assets/**/*.dll
# ...but never the spool runtime output or Windows thumbnail caches.
assets/**/*.spl
assets/**/last.spl
# packaged releases (attached to Gitea releases, not tracked)
RedPlanet-*.zip